Re: [PATCH] rpcrt4: compare networkoptions correctly (Coverity) (adjusted)

View: New views
1 Messages — Rating Filter:   Alert me  

Parent Message unknown Re: [PATCH] rpcrt4: compare networkoptions correctly (Coverity) (adjusted)

by Rob Shearman :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/11/8 Marcus Meissner <meissner@...>:

> @@ -84,6 +84,17 @@ static RPC_STATUS RpcAssoc_Alloc(LPCSTR Protseq, LPCSTR NetworkAddr,
>     return RPC_S_OK;
>  }
>
> +static BOOL compare_networkoptions(LPCWSTR opts1, LPCWSTR opts2)
> +{
> +    if ((opts1 == NULL) && (opts2 == NULL))
> +        return TRUE;
> +    if ((opts1 == NULL) && (opts2 != NULL))
> +        return FALSE;
> +    if ((opts1 != NULL) && (opts2 == NULL))
> +        return FALSE;
> +    return !strcmpW(opts1, opts2);
> +}
> +
>  RPC_STATUS RPCRT4_GetAssociation(LPCSTR Protseq, LPCSTR NetworkAddr,
>                                  LPCSTR Endpoint, LPCWSTR NetworkOptions,
>                                  RpcAssoc **assoc_out)
> @@ -97,8 +108,8 @@ RPC_STATUS RPCRT4_GetAssociation(LPCSTR Protseq, LPCSTR NetworkAddr,
>         if (!strcmp(Protseq, assoc->Protseq) &&
>             !strcmp(NetworkAddr, assoc->NetworkAddr) &&
>             !strcmp(Endpoint, assoc->Endpoint) &&
> -            ((!assoc->NetworkOptions && !NetworkOptions) || !strcmpW(NetworkOptions, assoc->NetworkOptions)))
> -        {
> +            compare_networkoptions(NetworkOptions, assoc->NetworkOptions)
> +        ) {

Looks good functionally, but please don't change the style.

>             assoc->refs++;
>             *assoc_out = assoc;
>             LeaveCriticalSection(&assoc_list_cs);

Thanks,
--
Rob Shearman