From a7a08e2927ec5b99b2f97fe2acffca4cdf0ef8d4 Mon Sep 17 00:00:00 2001 From: Hugh McMaster Date: Mon, 16 Jul 2018 12:20:46 +0000 Subject: [PATCH] regedit: Free allocated memory after calling GetValueName(). Signed-off-by: Hugh McMaster Signed-off-by: Alexandre Julliard --- programs/regedit/framewnd.c | 5 +++-- programs/regedit/listview.c | 2 +- programs/regedit/main.h | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/programs/regedit/framewnd.c b/programs/regedit/framewnd.c index ed0c5bbfc87..4d828c0e7cf 100644 --- a/programs/regedit/framewnd.c +++ b/programs/regedit/framewnd.c @@ -853,10 +853,11 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) case ID_EDIT_MODIFY: case ID_EDIT_MODIFY_BIN: { - LPCWSTR valueName = GetValueName(g_pChildWnd->hListWnd); - WCHAR* keyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hKeyRoot); + WCHAR *valueName = GetValueName(g_pChildWnd->hListWnd); + WCHAR *keyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hKeyRoot); ModifyValue(hWnd, hKeyRoot, keyPath, valueName); heap_free(keyPath); + heap_free(valueName); break; } case ID_EDIT_FIND: diff --git a/programs/regedit/listview.c b/programs/regedit/listview.c index f42f9c2e2ff..758482860eb 100644 --- a/programs/regedit/listview.c +++ b/programs/regedit/listview.c @@ -63,7 +63,7 @@ LPWSTR GetItemText(HWND hwndLV, UINT item) return NULL; } -LPCWSTR GetValueName(HWND hwndLV) +WCHAR *GetValueName(HWND hwndLV) { INT item; diff --git a/programs/regedit/main.h b/programs/regedit/main.h index edcc90154b3..ae034405646 100644 --- a/programs/regedit/main.h +++ b/programs/regedit/main.h @@ -150,7 +150,7 @@ int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort); BOOL RefreshListView(HWND hwndLV, HKEY hKeyRoot, LPCWSTR keyPath, LPCWSTR highlightValue); HWND StartValueRename(HWND hwndLV); LPWSTR GetItemText(HWND hwndLV, UINT item); -LPCWSTR GetValueName(HWND hwndLV); +WCHAR *GetValueName(HWND hwndLV); BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result); BOOL IsDefaultValue(HWND hwndLV, int i);