From 2e95aaa2a9b59edf10d4dc19eb93161dfbf686b5 Mon Sep 17 00:00:00 2001 From: Steve Harter Date: Tue, 15 Oct 2024 16:15:12 -0500 Subject: [PATCH] Ensure a null PublicKey is supported on assembly refs --- src/coreclr/md/compiler/importhelper.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/coreclr/md/compiler/importhelper.cpp b/src/coreclr/md/compiler/importhelper.cpp index d1b2ac55fdc6d6..f1dd230eeb4dbb 100644 --- a/src/coreclr/md/compiler/importhelper.cpp +++ b/src/coreclr/md/compiler/importhelper.cpp @@ -3174,6 +3174,8 @@ ImportHelper::CreateAssemblyRefFromAssembly( mdAssemblyRef tkAssemRef; HRESULT hr = S_OK; StrongNameToken token; + const void *pbToken = NULL; + ULONG cbToken = 0; ULONG i; // Set output to Nil. @@ -3193,6 +3195,9 @@ ImportHelper::CreateAssemblyRefFromAssembly( IfFailGo(StrongNameTokenFromPublicKey((BYTE*)pbPublicKey, cbPublicKey, &token)); + + pbToken = &token; + cbToken = StrongNameToken::SIZEOF_TOKEN; } else _ASSERTE(!IsAfPublicKey(dwFlags)); @@ -3209,8 +3214,8 @@ ImportHelper::CreateAssemblyRefFromAssembly( continue; // See if the AssemblyRef already exists in the emit scope. - hr = FindAssemblyRef(pMiniMdEmit, szName, szLocale, &token, - StrongNameToken::SIZEOF_TOKEN, usMajorVersion, usMinorVersion, + hr = FindAssemblyRef(pMiniMdEmit, szName, szLocale, pbToken, + cbToken, usMajorVersion, usMinorVersion, usBuildNumber, usRevisionNumber, dwFlags, &tkAssemRef); if (hr == CLDB_E_RECORD_NOTFOUND)