[PATCH] wininet: handle failing create_netconn_socket (Coverity)

Marcus Meissner marcus at jet.franken.de
Mon Nov 12 14:50:47 CST 2012


A failing here will free the netconn structure and we should
not use it afterwards.

Ciao, Marcus
---
 dlls/wininet/netconnection.c |    9 +++++----
 1 Datei geändert, 5 Zeilen hinzugefügt(+), 4 Zeilen entfernt(-)

diff --git a/dlls/wininet/netconnection.c b/dlls/wininet/netconnection.c
index b746b54..1d658cc 100644
--- a/dlls/wininet/netconnection.c
+++ b/dlls/wininet/netconnection.c
@@ -717,10 +717,11 @@ 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;
-
-    *ret = netconn;
+    if (result == ERROR_SUCCESS) {
+        server_addref(server);
+        netconn->server = server;
+        *ret = netconn;
+    }
     return result;
 }
 
-- 
1.7.10.4




More information about the wine-patches mailing list