Hans Leidekker : winhttp: Check the server response when downloading a PAC script.
Alexandre Julliard
julliard at winehq.org
Tue Dec 18 13:49:05 CST 2012
Module: wine
Branch: master
Commit: e6ab87ccfa78cffae5bcbe2c1dfc58b5ef7fb2ac
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e6ab87ccfa78cffae5bcbe2c1dfc58b5ef7fb2ac
Author: Hans Leidekker <hans at codeweavers.com>
Date: Tue Dec 18 11:22:50 2012 +0100
winhttp: Check the server response when downloading a PAC script.
---
dlls/winhttp/session.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/dlls/winhttp/session.c b/dlls/winhttp/session.c
index 3889922..8a5c457 100644
--- a/dlls/winhttp/session.c
+++ b/dlls/winhttp/session.c
@@ -1939,7 +1939,7 @@ static BSTR download_script( const WCHAR *url )
HINTERNET ses, con = NULL, req = NULL;
WCHAR *hostname;
URL_COMPONENTSW uc;
- DWORD size = 4096, offset, to_read, bytes_read, flags = 0;
+ DWORD status, size = sizeof(status), offset, to_read, bytes_read, flags = 0;
char *tmp, *buffer = NULL;
BSTR script = NULL;
int len;
@@ -1956,8 +1956,12 @@ static BSTR download_script( const WCHAR *url )
if (uc.nScheme == INTERNET_SCHEME_HTTPS) flags |= WINHTTP_FLAG_SECURE;
if (!(req = WinHttpOpenRequest( con, NULL, uc.lpszUrlPath, NULL, NULL, acceptW, flags ))) goto done;
if (!WinHttpSendRequest( req, NULL, 0, NULL, 0, 0, 0 )) goto done;
+
if (!(WinHttpReceiveResponse( req, 0 ))) goto done;
+ if (!WinHttpQueryHeaders( req, WINHTTP_QUERY_STATUS_CODE|WINHTTP_QUERY_FLAG_NUMBER, NULL, &status,
+ &size, NULL ) || status != HTTP_STATUS_OK) goto done;
+ size = 4096;
if (!(buffer = heap_alloc( size ))) goto done;
to_read = size;
offset = 0;
More information about the wine-cvs
mailing list