base_url was never freed, and can simply be enlarged instead of copying it to a new buffer.
From: Alex Henrie alexhenrie24@gmail.com
base_url was never freed, and can simply be enlarged instead of copying it to a new buffer. --- dlls/msi/media.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/msi/media.c b/dlls/msi/media.c index 513e04b1b7e..50673f99cae 100644 --- a/dlls/msi/media.c +++ b/dlls/msi/media.c @@ -855,11 +855,11 @@ UINT ready_media( MSIPACKAGE *package, BOOL compressed, MSIMEDIAINFO *mi ) WCHAR temppath[MAX_PATH], *p, *url;
free( cabinet_file ); - if (!(url = malloc( (wcslen( base_url ) + wcslen( mi->cabinet ) + 1) * sizeof(WCHAR) ))) + if (!(url = realloc( base_url, (wcslen( base_url ) + wcslen( mi->cabinet ) + 1) * sizeof(WCHAR) ))) { + free( base_url ); return ERROR_OUTOFMEMORY; } - lstrcpyW( url, base_url ); lstrcatW( url, mi->cabinet ); if ((rc = msi_download_file( url, temppath )) != ERROR_SUCCESS) {
This merge request was approved by Hans Leidekker.