wininet: Release object in HttpSendRequestExW before return on error.

This commit is contained in:
Nigel Liang 2007-11-03 18:24:49 -07:00 committed by Alexandre Julliard
parent 73e2ff5901
commit 6f44627b04
1 changed files with 7 additions and 5 deletions

View File

@ -2121,7 +2121,7 @@ BOOL WINAPI HttpSendRequestExW(HINTERNET hRequest,
LPINTERNET_BUFFERSW lpBuffersOut, LPINTERNET_BUFFERSW lpBuffersOut,
DWORD dwFlags, DWORD_PTR dwContext) DWORD dwFlags, DWORD_PTR dwContext)
{ {
BOOL ret; BOOL ret = FALSE;
LPWININETHTTPREQW lpwhr; LPWININETHTTPREQW lpwhr;
LPWININETHTTPSESSIONW lpwhs; LPWININETHTTPSESSIONW lpwhs;
LPWININETAPPINFOW hIC; LPWININETAPPINFOW hIC;
@ -2134,7 +2134,7 @@ BOOL WINAPI HttpSendRequestExW(HINTERNET hRequest,
if (NULL == lpwhr || lpwhr->hdr.htype != WH_HHTTPREQ) if (NULL == lpwhr || lpwhr->hdr.htype != WH_HHTTPREQ)
{ {
INTERNET_SetLastError(ERROR_INTERNET_INCORRECT_HANDLE_TYPE); INTERNET_SetLastError(ERROR_INTERNET_INCORRECT_HANDLE_TYPE);
return FALSE; goto lend;
} }
lpwhs = lpwhr->lpHttpSession; lpwhs = lpwhr->lpHttpSession;
@ -2178,7 +2178,6 @@ BOOL WINAPI HttpSendRequestExW(HINTERNET hRequest,
* This is from windows. * This is from windows.
*/ */
INTERNET_SetLastError(ERROR_IO_PENDING); INTERNET_SetLastError(ERROR_IO_PENDING);
ret = FALSE;
} }
else else
{ {
@ -2189,8 +2188,11 @@ BOOL WINAPI HttpSendRequestExW(HINTERNET hRequest,
else else
ret = HTTP_HttpSendRequestW(lpwhr, NULL, 0, NULL, 0, 0, FALSE); ret = HTTP_HttpSendRequestW(lpwhr, NULL, 0, NULL, 0, 0, FALSE);
} }
WININET_Release(&lpwhr->hdr); lend:
if ( lpwhr )
WININET_Release( &lpwhr->hdr );
TRACE("<---\n"); TRACE("<---\n");
return ret; return ret;
} }