[PATCH 2/4] msi: Don't call CloseServiceHandle() with an invalid handle.
Huw Davies
huw at codeweavers.com
Thu Jul 16 05:56:06 CDT 2015
---
dlls/msi/action.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index c90114c..c0ab23d 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -5876,8 +5876,8 @@ static UINT ITERATE_InstallService(MSIRECORD *rec, LPVOID param)
if (image_path != file->TargetPath) msi_free(image_path);
done:
- CloseServiceHandle(service);
- CloseServiceHandle(hscm);
+ if (service) CloseServiceHandle(service);
+ if (hscm) CloseServiceHandle(hscm);
msi_free(name);
msi_free(disp);
msi_free(sd.lpDescription);
@@ -6051,8 +6051,8 @@ done:
msi_ui_actiondata( package, szStartServices, uirow );
msiobj_release( &uirow->hdr );
- CloseServiceHandle(service);
- CloseServiceHandle(scm);
+ if (service) CloseServiceHandle(service);
+ if (scm) CloseServiceHandle(scm);
msi_free(name);
msi_free(args);
@@ -6161,8 +6161,8 @@ static UINT stop_service( LPCWSTR name )
WARN("Failed to stop service (%s): %d\n", debugstr_w(name), GetLastError());
done:
- CloseServiceHandle(service);
- CloseServiceHandle(scm);
+ if (service) CloseServiceHandle(service);
+ if (scm) CloseServiceHandle(scm);
return ERROR_SUCCESS;
}
@@ -6299,8 +6299,8 @@ done:
msi_ui_actiondata( package, szDeleteServices, uirow );
msiobj_release( &uirow->hdr );
- CloseServiceHandle( service );
- CloseServiceHandle( scm );
+ if (service) CloseServiceHandle( service );
+ if (scm) CloseServiceHandle( scm );
msi_free( name );
msi_free( display_name );
--
1.8.0
More information about the wine-patches
mailing list