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