msi: Fix some leaks (coverity)
Alexandre Julliard
julliard at winehq.org
Tue Nov 6 08:02:28 CST 2012
Frédéric Delanoy <frederic.delanoy at gmail.com> writes:
> @@ -151,15 +151,23 @@ static UINT propvar_changetype(PROPVARIANT *changed, PROPVARIANT *property, VART
> {
> HRESULT hr;
> HMODULE propsys = LoadLibraryA("propsys.dll");
> +
> + if (!propsys)
> + {
> + ERR("Failed to load propsys.dll: %u\n", GetLastError());
> + return ERROR_DLL_NOT_FOUND;
> + }
> pPropVariantChangeType = (void *)GetProcAddress(propsys, "PropVariantChangeType");
>
> if (!pPropVariantChangeType)
> {
> ERR("PropVariantChangeType function missing!\n");
> + FreeLibrary(propsys);
> return ERROR_FUNCTION_FAILED;
> }
>
> hr = pPropVariantChangeType(changed, property, 0, vt);
> + FreeLibrary(propsys);
You don't want to load/unload the library on every call.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list