From: Alex Henrie alexhenrie24@gmail.com
--- 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;