Andrew Eikum : winhttp: Don't crash setting up secure proxy.

Alexandre Julliard julliard at winehq.org
Mon Mar 11 16:29:52 CDT 2019


Module: wine
Branch: master
Commit: e87f2c399dc9cf0666ef7d4e5e41548bef2e8169
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=e87f2c399dc9cf0666ef7d4e5e41548bef2e8169

Author: Andrew Eikum <aeikum at codeweavers.com>
Date:   Fri Mar  8 11:52:01 2019 -0600

winhttp: Don't crash setting up secure proxy.

Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winhttp/request.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c
index af484cc..d3d9f57 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -1673,6 +1673,9 @@ static BOOL open_connection( struct request *request )
         }
         netconn_set_timeout( netconn, TRUE, request->send_timeout );
         netconn_set_timeout( netconn, FALSE, request->receive_response_timeout );
+
+        request->netconn = netconn;
+
         if (is_secure)
         {
             if (connect->session->proxy_server &&
@@ -1680,6 +1683,7 @@ static BOOL open_connection( struct request *request )
             {
                 if (!secure_proxy_connect( request ))
                 {
+                    request->netconn = NULL;
                     heap_free( addressW );
                     netconn_close( netconn );
                     return FALSE;
@@ -1693,13 +1697,13 @@ static BOOL open_connection( struct request *request )
                 !netconn_secure_connect( netconn, connect->hostname, request->security_flags,
                                          &request->cred_handle, request->check_revocation ))
             {
+                request->netconn = NULL;
                 heap_free( addressW );
                 netconn_close( netconn );
                 return FALSE;
             }
         }
 
-        request->netconn = netconn;
         send_callback( &request->hdr, WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER, addressW, strlenW(addressW) + 1 );
     }
     else




More information about the wine-cvs mailing list