From: Alex Henrie alexhenrie24@gmail.com
--- programs/regedit/treeview.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/programs/regedit/treeview.c b/programs/regedit/treeview.c index e0cac006090..95e18571b86 100644 --- a/programs/regedit/treeview.c +++ b/programs/regedit/treeview.c @@ -99,7 +99,10 @@ LPWSTR GetItemPath(HWND hwndTV, HTREEITEM hItem, HKEY* phRootKey) pathBuffer = malloc(maxLen * sizeof(WCHAR)); if (!pathBuffer) return NULL; *pathBuffer = 0; - if (!get_item_path(hwndTV, hItem, phRootKey, &pathBuffer, &pathLen, &maxLen)) return NULL; + if (!get_item_path(hwndTV, hItem, phRootKey, &pathBuffer, &pathLen, &maxLen)) { + free(pathBuffer); + return NULL; + } return pathBuffer; }