msi: Avoid a crash when the cabinet file must be downloaded.
Hans Leidekker
hans at codeweavers.com
Wed Jun 23 03:44:26 CDT 2010
Fixes a regression caused by e5869d5d5c8f01b140ac5fba1044f3c10975612c,
reported as http://bugs.winehq.org/show_bug.cgi?id=23242
---
dlls/msi/media.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/dlls/msi/media.c b/dlls/msi/media.c
index b455775..6dc262c 100644
--- a/dlls/msi/media.c
+++ b/dlls/msi/media.c
@@ -785,13 +785,17 @@ UINT ready_media(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi)
{
WCHAR temppath[MAX_PATH], *p;
- msi_download_file(cabinet_file, temppath);
+ rc = msi_download_file(cabinet_file, temppath);
+ if (rc != ERROR_SUCCESS)
+ {
+ ERR("Failed to download %s (%u)\n", debugstr_w(cabinet_file), rc);
+ msi_free(cabinet_file);
+ return rc;
+ }
if ((p = strrchrW(temppath, '\\'))) *p = 0;
-
- msi_free(mi->sourcedir);
strcpyW(mi->sourcedir, temppath);
msi_free(mi->cabinet);
- strcpyW(mi->cabinet, p + 1);
+ mi->cabinet = strdupW(p + 1);
msi_free(cabinet_file);
return ERROR_SUCCESS;
--
1.7.0.4
More information about the wine-patches
mailing list