summaryrefslogtreecommitdiff
path: root/src/dlls/mscoree
diff options
context:
space:
mode:
authorEugene Rozenfeld <erozen@microsoft.com>2016-03-10 13:05:23 -0800
committerEugene Rozenfeld <erozen@microsoft.com>2016-03-10 13:05:23 -0800
commit9ebfb37f98fc2f17b97763838c17b18dd396dc68 (patch)
tree0acd276680b4838833ed5f6700b427a29ebe2b3e /src/dlls/mscoree
parent7d81c5359b5083ef4b08ebc3b3ebd8b8764fe418 (diff)
downloadcoreclr-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.cpp4
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);
}