From bd38e2b0ed4b7ec522ccb00d8e73e9a05de51935 Mon Sep 17 00:00:00 2001
From: Marcus Meissner <marcus@jet.franken.de>
Date: Wed, 16 Apr 2008 08:37:26 +0200
Subject: [PATCH] rpcrt4: Handle exit path where bind not allocated yet.

---
 dlls/rpcrt4/rpc_binding.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/rpcrt4/rpc_binding.c b/dlls/rpcrt4/rpc_binding.c
index d670a88d603..87ac4138b04 100644
--- a/dlls/rpcrt4/rpc_binding.c
+++ b/dlls/rpcrt4/rpc_binding.c
@@ -725,8 +725,8 @@ RPC_STATUS WINAPI RpcBindingFromStringBindingA( RPC_CSTR StringBinding, RPC_BIND
 
   if (ret == RPC_S_OK)
     ret = RPCRT4_CreateBindingA(&bind, FALSE, (char*)Protseq);
-  if (ret == RPC_S_OK)
-    ret = RPCRT4_SetBindingObject(bind, &Uuid);
+  if (ret != RPC_S_OK) return ret;
+  ret = RPCRT4_SetBindingObject(bind, &Uuid);
   if (ret == RPC_S_OK)
     ret = RPCRT4_CompleteBindingA(bind, (char*)NetworkAddr, (char*)Endpoint, (char*)Options);
 
@@ -764,8 +764,8 @@ RPC_STATUS WINAPI RpcBindingFromStringBindingW( RPC_WSTR StringBinding, RPC_BIND
 
   if (ret == RPC_S_OK)
     ret = RPCRT4_CreateBindingW(&bind, FALSE, Protseq);
-  if (ret == RPC_S_OK)
-    ret = RPCRT4_SetBindingObject(bind, &Uuid);
+  if (ret != RPC_S_OK) return ret;
+  ret = RPCRT4_SetBindingObject(bind, &Uuid);
   if (ret == RPC_S_OK)
     ret = RPCRT4_CompleteBindingW(bind, NetworkAddr, Endpoint, Options);
 
-- 
GitLab