From ab2f90bd66e549d820289b00c57ce8f8cfba5154 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Thu, 2 Oct 2008 01:35:59 -0700 Subject: [PATCH 2/2] regedit: Check return values, don't request unneeded value which always fails. --- programs/regedit/treeview.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/programs/regedit/treeview.c b/programs/regedit/treeview.c index 6153a70..2b6f176 100644 --- a/programs/regedit/treeview.c +++ b/programs/regedit/treeview.c @@ -267,7 +267,10 @@ static BOOL match_item(HWND hwndTV, HTREEITEM hItem, LPCWSTR sstring, int mode, if ((mode & SEARCH_CONTENT) && (type == REG_EXPAND_SZ || type == REG_SZ)) { LPWSTR buffer; buffer = HeapAlloc(GetProcessHeap(), 0, lenValue); - RegEnumValueW(hKey, i, valName, &lenName, NULL, &type, (LPBYTE)buffer, &lenValue); + if (!buffer) + break; + if (ERROR_SUCCESS != RegEnumValueW(hKey, i, NULL, NULL, NULL, &type, (LPBYTE)buffer, &lenValue)) + break; if (match_string(buffer, sstring, mode)) { HeapFree(GetProcessHeap(), 0, buffer); RegCloseKey(hKey); -- 1.5.2.2