ole32: Don't try to read key value if key was not found (Valgrind).

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2016-05-29 19:22:32 +03:00 committed by Alexandre Julliard
parent 47043b9295
commit 4e5698f72e
1 changed files with 11 additions and 8 deletions

View File

@ -1265,7 +1265,7 @@ HRESULT WINAPI GetClassFile(LPCOLESTR filePathName,CLSID *pclsid)
}
ret = RegQueryValueW(HKEY_CLASSES_ROOT, extension, NULL, &sizeProgId);
if (!ret) {
/* get the progId associated to the extension */
progId = CoTaskMemAlloc(sizeProgId);
ret = RegQueryValueW(HKEY_CLASSES_ROOT, extension, progId, &sizeProgId);
@ -1274,12 +1274,15 @@ HRESULT WINAPI GetClassFile(LPCOLESTR filePathName,CLSID *pclsid)
res = CLSIDFromProgID(progId, pclsid);
else
res = HRESULT_FROM_WIN32(ret);
CoTaskMemFree(progId);
}
else
res = HRESULT_FROM_WIN32(ret);
for(i=0; pathDec[i]!=NULL;i++)
CoTaskMemFree(pathDec[i]);
CoTaskMemFree(pathDec);
CoTaskMemFree(progId);
return res != S_OK ? MK_E_INVALIDEXTENSION : res;
}