[PATCH] wbemprox: Don't fail when given invalid flag combinations in IWbemClassObject::GetNames().

Hans Leidekker hans at codeweavers.com
Mon Aug 10 04:41:38 CDT 2020


On Sun, 2020-08-09 at 14:56 +0200, Gijs Vermeulen wrote:
> -    if (lFlags != WBEM_FLAG_ALWAYS &&
> +    if (!pNames)
> +        return WBEM_E_INVALID_PARAMETER;
> +
> +    /* Combination used in a handful of broken apps */
> +    if (lFlags == (WBEM_FLAG_ALWAYS | WBEM_MASK_CONDITION_ORIGIN))
> +        lFlags = WBEM_FLAG_ALWAYS;
> +
> +     if (!!lFlags && (lFlags != WBEM_FLAG_ALWAYS &&
>          lFlags != WBEM_FLAG_NONSYSTEM_ONLY &&
> -        lFlags != WBEM_FLAG_SYSTEM_ONLY)
> -    {
> +        lFlags != WBEM_FLAG_SYSTEM_ONLY))
>          FIXME("flags %08x not supported\n", lFlags);
> -        return E_NOTIMPL;
> -    }

Double negation of lFlags is not necessary. I think we should keep the
E_NOTIMPL return for flags that aren't implemented.





More information about the wine-devel mailing list