From 2c20c35d3ca35e0c516658f22415b83c9c67ece7 Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Wed, 23 Jun 2010 10:44:26 +0200 Subject: [PATCH] msi: Avoid a crash when the cabinet file must be downloaded. Fixes a regression caused by e5869d5d5c8f01b140ac5fba1044f3c10975612c. --- dlls/msi/media.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/dlls/msi/media.c b/dlls/msi/media.c index b455775a8e1..6dc262c8d3b 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; -- 2.11.4.GIT