Hans Leidekker : msi: Don't leak the file handle on error in cabinet_close_file_info().
Alexandre Julliard
julliard at winehq.org
Mon Sep 13 16:12:33 CDT 2021
Module: wine
Branch: master
Commit: a0a800ab1bd174e78b03d4592d1caca0322cd1c9
URL: https://source.winehq.org/git/wine.git/?a=commit;h=a0a800ab1bd174e78b03d4592d1caca0322cd1c9
Author: Hans Leidekker <hans at codeweavers.com>
Date: Mon Sep 13 12:05:00 2021 +0200
msi: Don't leak the file handle on error in cabinet_close_file_info().
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/msi/media.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/dlls/msi/media.c b/dlls/msi/media.c
index cc4648481ba..af6e83b893e 100644
--- a/dlls/msi/media.c
+++ b/dlls/msi/media.c
@@ -507,16 +507,23 @@ static INT_PTR cabinet_close_file_info(FDINOTIFICATIONTYPE fdint,
data->mi->is_continuous = FALSE;
if (!DosDateTimeToFileTime(pfdin->date, pfdin->time, &ft))
+ {
+ CloseHandle(handle);
return -1;
+ }
if (!LocalFileTimeToFileTime(&ft, &ftLocal))
+ {
+ CloseHandle(handle);
return -1;
+ }
if (!SetFileTime(handle, &ftLocal, 0, &ftLocal))
+ {
+ CloseHandle(handle);
return -1;
+ }
CloseHandle(handle);
-
- data->cb(data->package, data->curfile, MSICABEXTRACT_FILEEXTRACTED, NULL, NULL,
- data->user);
+ data->cb(data->package, data->curfile, MSICABEXTRACT_FILEEXTRACTED, NULL, NULL, data->user);
msi_free(data->curfile);
data->curfile = NULL;
More information about the wine-cvs
mailing list