wininet: Avoid accessing uninitialized memory in HttpSendRequestExW.

Found by valgrind.
This commit is contained in:
Hans Leidekker 2009-10-27 10:03:36 +01:00 committed by Alexandre Julliard
parent b707a523e3
commit e62fdaf0f1
1 changed files with 10 additions and 2 deletions

View File

@ -3338,8 +3338,16 @@ BOOL WINAPI HttpSendRequestExW(HINTERNET hRequest,
req = &workRequest.u.HttpSendRequestW; req = &workRequest.u.HttpSendRequestW;
if (lpBuffersIn) if (lpBuffersIn)
{ {
/* FIXME: this should use dwHeadersLength or may not be necessary at all */ DWORD size;
req->lpszHeader = heap_strdupW(lpBuffersIn->lpcszHeader);
if (lpBuffersIn->dwHeadersLength == ~0u)
size = (strlenW( lpBuffersIn->lpcszHeader ) + 1) * sizeof(WCHAR);
else
size = lpBuffersIn->dwHeadersLength * sizeof(WCHAR);
req->lpszHeader = HeapAlloc( GetProcessHeap(), 0, size );
memcpy( req->lpszHeader, lpBuffersIn->lpcszHeader, size );
req->dwHeaderLength = lpBuffersIn->dwHeadersLength; req->dwHeaderLength = lpBuffersIn->dwHeadersLength;
req->lpOptional = lpBuffersIn->lpvBuffer; req->lpOptional = lpBuffersIn->lpvBuffer;
req->dwOptionalLength = lpBuffersIn->dwBufferLength; req->dwOptionalLength = lpBuffersIn->dwBufferLength;