RPC binding fix

Ove Kaaven ovehk at ping.uio.no
Thu Jan 30 10:21:09 CST 2003


Log:
Ove Kaaven <ovek at transgaming.com>
Fixed a bug in CompleteBindingA/W.

Index: dlls/rpcrt4/rpc_binding.c
===================================================================
RCS file: /home/wine/wine/dlls/rpcrt4/rpc_binding.c,v
retrieving revision 1.9
diff -u -r1.9 rpc_binding.c
--- dlls/rpcrt4/rpc_binding.c	24 Dec 2002 00:26:55 -0000	1.9
+++ dlls/rpcrt4/rpc_binding.c	30 Jan 2003 16:19:16 -0000
@@ -137,35 +137,38 @@
   RPCRT4_strfree(Binding->NetworkAddr);
   Binding->NetworkAddr = RPCRT4_strdupA(NetworkAddr);
   RPCRT4_strfree(Binding->Endpoint);
-  if (Binding->Endpoint) {
+  if (Endpoint) {
     Binding->Endpoint = RPCRT4_strdupA(Endpoint);
   } else {
     Binding->Endpoint = RPCRT4_strdupA("");
   }
+  if (!Binding->Endpoint) ERR("out of memory?\n");
 
   return RPC_S_OK;
 }
 
 RPC_STATUS RPCRT4_CompleteBindingW(RpcBinding* Binding, LPWSTR NetworkAddr, LPWSTR Endpoint, LPWSTR NetworkOptions)
 {
-
   TRACE("(RpcBinding == ^%p, NetworkAddr == \"%s\", EndPoint == \"%s\", NetworkOptions == \"%s\")\n", Binding, 
    debugstr_w(NetworkAddr), debugstr_w(Endpoint), debugstr_w(NetworkOptions));
 
   RPCRT4_strfree(Binding->NetworkAddr);
   Binding->NetworkAddr = RPCRT4_strdupWtoA(NetworkAddr);
   RPCRT4_strfree(Binding->Endpoint);
-  if (Binding->Endpoint) {
+  if (Endpoint) {
     Binding->Endpoint = RPCRT4_strdupWtoA(Endpoint);
   } else {
     Binding->Endpoint = RPCRT4_strdupA("");
   }
+  if (!Binding->Endpoint) ERR("out of memory?\n");
 
   return RPC_S_OK;
 }
 
 RPC_STATUS RPCRT4_ResolveBinding(RpcBinding* Binding, LPSTR Endpoint)
 {
+  TRACE("(RpcBinding == ^%p, EndPoint == \"%s\"\n", Binding, Endpoint);
+
   RPCRT4_strfree(Binding->Endpoint);
   Binding->Endpoint = RPCRT4_strdupA(Endpoint);
 




More information about the wine-patches mailing list