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

Alexandre Julliard julliard at winehq.org
Wed May 15 14:32:22 CDT 2019


Module: wine
Branch: stable
Commit: 4614f5acb67e9e822f45e7a17a4be3ae6a273913
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=4614f5acb67e9e822f45e7a17a4be3ae6a273913

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>
(cherry picked from commit e87f2c399dc9cf0666ef7d4e5e41548bef2e8169)
Signed-off-by: Michael Stefaniuc <mstefani 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 5525c1c..1a03f5c 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -1670,6 +1670,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 &&
@@ -1677,6 +1680,7 @@ static BOOL open_connection( struct request *request )
             {
                 if (!secure_proxy_connect( request ))
                 {
+                    request->netconn = NULL;
                     heap_free( addressW );
                     netconn_close( netconn );
                     return FALSE;
@@ -1690,13 +1694,13 @@ static BOOL open_connection( struct request *request )
                 !netconn_secure_connect( netconn, connect->hostname, request->security_flags,
                                          &connect->session->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