Marcus Meissner : rpcrt4: Compare network options correctly (Coverity).

Alexandre Julliard julliard at winehq.org
Tue Nov 10 09:39:15 CST 2009


Module: wine
Branch: master
Commit: 860c87bb1ca338c91a55d52e401a3f98be254d87
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=860c87bb1ca338c91a55d52e401a3f98be254d87

Author: Marcus Meissner <meissner at suse.de>
Date:   Sun Nov  8 10:08:56 2009 +0100

rpcrt4: Compare network options correctly (Coverity).

---

 dlls/rpcrt4/rpc_assoc.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/dlls/rpcrt4/rpc_assoc.c b/dlls/rpcrt4/rpc_assoc.c
index 117301f..4030d3d 100644
--- a/dlls/rpcrt4/rpc_assoc.c
+++ b/dlls/rpcrt4/rpc_assoc.c
@@ -84,6 +84,15 @@ 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;
+    return !strcmpW(opts1, opts2);
+}
+
 RPC_STATUS RPCRT4_GetAssociation(LPCSTR Protseq, LPCSTR NetworkAddr,
                                  LPCSTR Endpoint, LPCWSTR NetworkOptions,
                                  RpcAssoc **assoc_out)
@@ -97,7 +106,7 @@ 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))
         {
             assoc->refs++;
             *assoc_out = assoc;




More information about the wine-cvs mailing list