Resent: dlls/wininet/http.c: HTTP_HttpOpenRequestA
Changelog: dlls/wininet/http.c: HTTP_HttpOpenRequestA Calculate size from the same argument that is used later Check for possible NULL arguments -- Uwe Bonnes bon(a)elektron.ikp.physik.tu-darmstadt.de Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 162516 -------- Fax. 06151 164321 ---------- Index: wine/dlls/wininet/http.c =================================================================== RCS file: /home/wine/wine/dlls/wininet/http.c,v retrieving revision 1.34 diff -u -r1.34 http.c --- wine/dlls/wininet/http.c 14 Apr 2003 21:32:36 -0000 1.34 +++ wine/dlls/wininet/http.c 5 May 2003 17:38:13 -0000 @@ -398,8 +398,18 @@ sprintf(proxy, "http://%s/", hIC->lpszProxy); InternetCrackUrlA(proxy, 0, 0, &UrlComponents); if (strlen(UrlComponents.lpszHostName)) { - /* for constant 13 see above */ - char* url = HeapAlloc(GetProcessHeap(), 0, strlen(lpwhr->lpszHostName) + strlen(lpwhr->lpszPath) + 13); + char* url; + DWORD needed = 13;/* for constant 13 see above */ + + if(lpwhs->lpszServerName) + needed += strlen(lpwhs->lpszServerName); + else + TRACE("no lpwhs->lpszServerName\n"); + if(lpwhr->lpszPath) + needed += strlen(lpwhr->lpszPath); + else + TRACE("no lpwhr->lpszPath\n"); + url= HeapAlloc(GetProcessHeap(), 0, needed); if(UrlComponents.nPort == INTERNET_INVALID_PORT_NUMBER) UrlComponents.nPort = INTERNET_DEFAULT_HTTP_PORT;
Uwe Bonnes <bon(a)elektron.ikp.physik.tu-darmstadt.de> writes:
dlls/wininet/http.c: HTTP_HttpOpenRequestA Calculate size from the same argument that is used later Check for possible NULL arguments
It makes no sense to check for NULL when computing the length and then still put the strings into the buffer. If the strings can really be NULL this must be handled properly everywhere, or not at all. -- Alexandre Julliard julliard(a)winehq.com
participants (2)
-
Alexandre Julliard -
Uwe Bonnes