wininet: Fix use after free (coverity)

André Hentschel nerv at dawncrow.de
Sat Nov 10 08:57:35 CST 2012


CID 743144
---
 dlls/wininet/netconnection.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/dlls/wininet/netconnection.c b/dlls/wininet/netconnection.c
index b746b54..67b8185 100644
--- a/dlls/wininet/netconnection.c
+++ b/dlls/wininet/netconnection.c
@@ -717,10 +717,13 @@ DWORD create_netconn(BOOL useSSL, server_t *server, DWORD security_flags, BOOL m
     list_init(&netconn->pool_entry);
 
     result = create_netconn_socket(server, netconn, timeout);
-    server_addref(server);
-    netconn->server = server;
+    if (SUCCEEDED(result))
+    {
+        server_addref(server);
+        netconn->server = server;
+        *ret = netconn;
+    }
 
-    *ret = netconn;
     return result;
 }
 
-- 
1.8.0


-- 

Best Regards, André Hentschel


More information about the wine-patches mailing list