diff options
author | Eugene Rozenfeld <erozen@microsoft.com> | 2016-03-10 13:05:23 -0800 |
---|---|---|
committer | Eugene Rozenfeld <erozen@microsoft.com> | 2016-03-10 13:05:23 -0800 |
commit | 9ebfb37f98fc2f17b97763838c17b18dd396dc68 (patch) | |
tree | 0acd276680b4838833ed5f6700b427a29ebe2b3e /src/dlls/mscoree | |
parent | 7d81c5359b5083ef4b08ebc3b3ebd8b8764fe418 (diff) | |
download | coreclr-9ebfb37f98fc2f17b97763838c17b18dd396dc68.tar.gz coreclr-9ebfb37f98fc2f17b97763838c17b18dd396dc68.tar.bz2 coreclr-9ebfb37f98fc2f17b97763838c17b18dd396dc68.zip |
Fix for a bug in GetCORSystemDirectoryInternaL
Change 7045ca7a6de381b382a709dc0a61f49ca713d160 introduced a bug in
GetCORSystemDirectoryInternaL. The second parameter of GetRuntimeDirectory
is in/out so passing a pointer to an uninitialized cchBuffer was wrong.
The fix is to initialize cchBuffer to MAX_PATH - 1.
This was causing failures in some non CoreClr ngen scenarios.
Diffstat (limited to 'src/dlls/mscoree')
-rw-r--r-- | src/dlls/mscoree/mscoree.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dlls/mscoree/mscoree.cpp b/src/dlls/mscoree/mscoree.cpp index d42733ad35..74d3f977fe 100644 --- a/src/dlls/mscoree/mscoree.cpp +++ b/src/dlls/mscoree/mscoree.cpp @@ -941,13 +941,13 @@ STDAPI GetCORSystemDirectoryInternaL(SString& pBuffer) return hr; #else // FEATURE_CORECLR || CROSSGEN_COMPILE - DWORD cchBuffer; + DWORD cchBuffer = MAX_PATH - 1; // Simply forward the call to the ICLRRuntimeInfo implementation. STATIC_CONTRACT_WRAPPER; HRESULT hr = S_OK; if (g_pCLRRuntime) { - WCHAR* temp = pBuffer.OpenUnicodeBuffer(MAX_PATH - 1); + WCHAR* temp = pBuffer.OpenUnicodeBuffer(cchBuffer); hr = g_pCLRRuntime->GetRuntimeDirectory(temp, &cchBuffer); pBuffer.CloseBuffer(cchBuffer - 1); } |