Module: wine Branch: master Commit: 6c1dd0f2c5669e084eb1f84571c38761a97c0970 URL: https://gitlab.winehq.org/wine/wine/-/commit/6c1dd0f2c5669e084eb1f84571c3876...
Author: Alex Henrie alexhenrie24@gmail.com Date: Sun Dec 11 21:28:03 2022 -0700
msi: Fix memory leak on realloc failure in msi_get_window_text (cppcheck).
---
dlls/msi/dialog.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c index e5a2208cb6f..cfd39d4921c 100644 --- a/dlls/msi/dialog.c +++ b/dlls/msi/dialog.c @@ -143,7 +143,7 @@ static HWND hMsiHiddenWindow; static LPWSTR msi_get_window_text( HWND hwnd ) { UINT sz, r; - LPWSTR buf; + WCHAR *buf, *new_buf;
sz = 0x20; buf = malloc( sz * sizeof(WCHAR) ); @@ -153,7 +153,10 @@ static LPWSTR msi_get_window_text( HWND hwnd ) if ( r < (sz - 1) ) break; sz *= 2; - buf = realloc( buf, sz * sizeof(WCHAR) ); + new_buf = realloc( buf, sz * sizeof(WCHAR) ); + if ( !new_buf ) + free( buf ); + buf = new_buf; }
return buf;