diff --git a/dlls/msi/registry.c b/dlls/msi/registry.c index 57d30d76e2c..ff0eee1558a 100644 --- a/dlls/msi/registry.c +++ b/dlls/msi/registry.c @@ -1883,8 +1883,15 @@ static UINT msi_enum_patches(LPCWSTR szProductCode, LPCWSTR szUserSid, MSIINSTALLCONTEXT *pdwTargetProductContext, LPWSTR szTargetUserSid, LPDWORD pcchTargetUserSid, LPWSTR *szTransforms) { + LPWSTR usersid = NULL; UINT r = ERROR_INVALID_PARAMETER; + if (!szUserSid) + { + get_user_sid(&usersid); + szUserSid = usersid; + } + if (dwContext & MSIINSTALLCONTEXT_USERMANAGED) { r = msi_check_product_patches(szProductCode, szUserSid, @@ -1922,6 +1929,7 @@ static UINT msi_enum_patches(LPCWSTR szProductCode, LPCWSTR szUserSid, } done: + LocalFree(usersid); return r; }