From f55ee1a21291ab1f0ad3c4cf010fecd4d95b5e92 Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Mon, 9 Jul 2012 11:08:06 +0200 Subject: [PATCH] msi: Don't crash if no working directory is specified for custom action type 34. --- dlls/msi/custom.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/dlls/msi/custom.c b/dlls/msi/custom.c index c1aa627bf96..88dcf870947 100644 --- a/dlls/msi/custom.c +++ b/dlls/msi/custom.c @@ -935,13 +935,15 @@ static UINT HANDLE_CustomType50(MSIPACKAGE *package, LPCWSTR source, static UINT HANDLE_CustomType34(MSIPACKAGE *package, LPCWSTR source, LPCWSTR target, const INT type, LPCWSTR action) { - const WCHAR *workingdir; + const WCHAR *workingdir = NULL; HANDLE handle; WCHAR *cmd; - workingdir = msi_get_target_folder( package, source ); - if (!workingdir) return ERROR_FUNCTION_FAILED; - + if (source) + { + workingdir = msi_get_target_folder( package, source ); + if (!workingdir) return ERROR_FUNCTION_FAILED; + } deformat_string( package, target, &cmd ); if (!cmd) return ERROR_FUNCTION_FAILED;