[1/4] winhttp: Fix some valgrind warnings.
Hans Leidekker
hans at codeweavers.com
Fri Jul 29 06:25:04 CDT 2011
---
dlls/winhttp/request.c | 5 +++--
dlls/winhttp/tests/winhttp.c | 1 +
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c
index 01fdc20..a57f801 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -2446,7 +2446,6 @@ static HRESULT WINAPI winhttp_request_Open(
debugstr_variant(&async));
if (!method || !url) return E_INVALIDARG;
- if (!(request->verb = strdupW( method ))) return E_OUTOFMEMORY;
memset( &uc, 0, sizeof(uc) );
uc.dwStructSize = sizeof(uc);
@@ -2455,6 +2454,7 @@ static HRESULT WINAPI winhttp_request_Open(
uc.dwUrlPathLength = ~0u;
uc.dwExtraInfoLength = ~0u;
if (!WinHttpCrackUrl( url, 0, 0, &uc )) return HRESULT_FROM_WIN32( get_last_error() );
+ if (!(request->verb = strdupW( method ))) return E_OUTOFMEMORY;
if (!(hostname = heap_alloc( (uc.dwHostNameLength + 1) * sizeof(WCHAR) ))) return E_OUTOFMEMORY;
memcpy( hostname, uc.lpszHostName, uc.dwHostNameLength * sizeof(WCHAR) );
@@ -2541,7 +2541,7 @@ static HRESULT WINAPI winhttp_request_SetRequestHeader(
}
len = strlenW( header ) + 4;
if (value) len += strlenW( value );
- if (!(str = heap_alloc( len * sizeof(WCHAR) ))) return E_OUTOFMEMORY;
+ if (!(str = heap_alloc( (len + 1) * sizeof(WCHAR) ))) return E_OUTOFMEMORY;
sprintfW( str, fmtW, header, value ? value : emptyW );
ret = WinHttpAddRequestHeaders( request->hrequest, str, len, WINHTTP_ADDREQ_FLAG_REPLACE );
@@ -2795,6 +2795,7 @@ static DWORD request_read_body( struct winhttp_request *request, DWORD timeout )
request->state = REQUEST_STATE_RESPONSE_RECEIVED;
if (!(request->buffer = heap_alloc( buflen ))) return E_OUTOFMEMORY;
+ request->buffer[0] = 0;
size = total_bytes_read = 0;
do
{
diff --git a/dlls/winhttp/tests/winhttp.c b/dlls/winhttp/tests/winhttp.c
index df8dd40..b450df7 100644
--- a/dlls/winhttp/tests/winhttp.c
+++ b/dlls/winhttp/tests/winhttp.c
@@ -2473,6 +2473,7 @@ static void test_IWinHttpRequest(void)
SysFreeString( url );
SysFreeString( username );
SysFreeString( password );
+ SysFreeString( connection );
SysFreeString( date );
SysFreeString( today );
VariantClear( &proxy_server );
--
1.7.4.1
More information about the wine-patches
mailing list