Module: wine Branch: master Commit: 0b09db5902abad62ca7b9a3393b3090544fc5258 URL: https://gitlab.winehq.org/wine/wine/-/commit/0b09db5902abad62ca7b9a3393b3090...
Author: Alex Henrie alexhenrie24@gmail.com Date: Sun Nov 13 21:32:22 2022 -0700
comctl32: Fix memory leak on error path in EDIT_MakeUndoFit.
---
dlls/comctl32/edit.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/comctl32/edit.c b/dlls/comctl32/edit.c index a9a469ffd47..96ed2b0ae1b 100644 --- a/dlls/comctl32/edit.c +++ b/dlls/comctl32/edit.c @@ -1292,6 +1292,7 @@ static BOOL EDIT_MakeFit(EDITSTATE *es, UINT size) static BOOL EDIT_MakeUndoFit(EDITSTATE *es, UINT size) { UINT alloc_size; + WCHAR *new_undo_text;
if (size <= es->undo_buffer_size) return TRUE; @@ -1299,7 +1300,8 @@ static BOOL EDIT_MakeUndoFit(EDITSTATE *es, UINT size) TRACE("trying to ReAlloc to %d+1\n", size);
alloc_size = ROUND_TO_GROW((size + 1) * sizeof(WCHAR)); - if ((es->undo_text = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, es->undo_text, alloc_size))) { + if ((new_undo_text = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, es->undo_text, alloc_size))) { + es->undo_text = new_undo_text; es->undo_buffer_size = alloc_size/sizeof(WCHAR) - 1; return TRUE; }