[1/4] wininet: Release the request in WININET_GetProxyServer and WININET_SetProxyAuthorization.

Hans Leidekker hans at codeweavers.com
Thu Jul 23 05:04:22 CDT 2009


diff --git a/dlls/wininet/dialogs.c b/dlls/wininet/dialogs.c
index f98493a..4a4df92 100644
--- a/dlls/wininet/dialogs.c
+++ b/dlls/wininet/dialogs.c
@@ -65,19 +65,20 @@ static BOOL WININET_GetProxyServer( HINTERNET hRequest, LPWSTR szBuf, DWORD sz )
     http_request_t *lpwhr;
     http_session_t *lpwhs = NULL;
     appinfo_t *hIC = NULL;
+    BOOL ret = FALSE;
     LPWSTR p;
 
     lpwhr = (http_request_t*) WININET_GetObject( hRequest );
     if (NULL == lpwhr)
-	return FALSE;
+        goto done;
 
     lpwhs = lpwhr->lpHttpSession;
     if (NULL == lpwhs)
-	return FALSE;
+        goto done;
 
     hIC = lpwhs->lpAppInfo;
     if (NULL == hIC)
-	return FALSE;
+        goto done;
 
     lstrcpynW(szBuf, hIC->lpszProxy, sz);
 
@@ -86,7 +87,11 @@ static BOOL WININET_GetProxyServer( HINTERNET hRequest, LPWSTR szBuf, DWORD sz )
     if (p)
         *p = 0;
 
-    return TRUE;
+    ret = TRUE;
+
+done:
+    WININET_Release( &lpwhr->hdr );
+    return ret;
 }
 
 /***********************************************************************
@@ -206,32 +211,39 @@ static BOOL WININET_SetProxyAuthorization( HINTERNET hRequest,
     http_request_t *lpwhr;
     http_session_t *lpwhs;
     appinfo_t *hIC;
+    BOOL ret = FALSE;
     LPWSTR p;
 
     lpwhr = (http_request_t*) WININET_GetObject( hRequest );
     if( !lpwhr )
-	return FALSE;
-        
+        return FALSE;
+
     lpwhs = lpwhr->lpHttpSession;
     if (NULL == lpwhs ||  lpwhs->hdr.htype != WH_HHTTPSESSION)
     {
         INTERNET_SetLastError(ERROR_INTERNET_INCORRECT_HANDLE_TYPE);
-	return FALSE;
+        goto done;
     }
 
     hIC = lpwhs->lpAppInfo;
 
     p = heap_strdupW(username);
     if( !p )
-        return FALSE;
+        goto done;
+
     hIC->lpszProxyUsername = p;
 
     p = heap_strdupW(password);
     if( !p )
-        return FALSE;
+        goto done;
+
     hIC->lpszProxyPassword = p;
 
-    return TRUE;
+    ret = TRUE;
+
+done:
+    WININET_Release( &lpwhr->hdr );
+    return ret;
 }
 
 /***********************************************************************



More information about the wine-patches mailing list