From 46229acde9869209619cb76f9d50b8b4490d18f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delanoy?= Date: Wed, 30 Nov 2011 16:26:17 +0100 Subject: [PATCH] gameux: Do not use RegCloseKey on invalid/uninitialized registry key handle (Coverity). --- dlls/gameux/gamestatistics.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/dlls/gameux/gamestatistics.c b/dlls/gameux/gamestatistics.c index cfe14b9b458..5cdd516527f 100644 --- a/dlls/gameux/gamestatistics.c +++ b/dlls/gameux/gamestatistics.c @@ -388,17 +388,18 @@ static HRESULT GAMEUX_getAppIdFromGDFPath( /* game is registered, let's read it's application id from registry */ hr = GAMEUX_buildGameRegistryPath(installScope, &instanceId, &lpRegistryPath); - if(SUCCEEDED(hr)) + if(SUCCEEDED(hr)) { hr = HRESULT_FROM_WIN32(RegOpenKeyExW(HKEY_LOCAL_MACHINE, lpRegistryPath, 0, KEY_READ | KEY_WOW64_64KEY, &hKey)); - - if(SUCCEEDED(hr)) - hr = HRESULT_FROM_WIN32(RegGetValueW(hKey, - NULL, sApplicationId, RRF_RT_REG_SZ, - NULL, lpApplicationId, &dwLength)); + if(SUCCEEDED(hr)) { + hr = HRESULT_FROM_WIN32(RegGetValueW(hKey, + NULL, sApplicationId, RRF_RT_REG_SZ, + NULL, lpApplicationId, &dwLength)); + RegCloseKey(hKey); + } + } HeapFree(GetProcessHeap(), 0, lpRegistryPath); - RegCloseKey(hKey); TRACE("found app id: %s, return: %#x\n", debugstr_w(lpApplicationId), hr); return hr;