Aric Stewart : wininet: Handle NULL lpBuffersIn in HttpSendRequestExW.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jan 13 07:31:09 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 21712d3d156740b18f2d9489ec819fbda41b3b13
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=21712d3d156740b18f2d9489ec819fbda41b3b13

Author: Aric Stewart <aric at codeweavers.com>
Date:   Fri Jan 13 13:52:38 2006 +0100

wininet: Handle NULL lpBuffersIn in HttpSendRequestExW.

---

 dlls/wininet/http.c |   26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index ee78f24..1312380 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -1788,15 +1788,27 @@ BOOL WINAPI HttpSendRequestExW(HINTERNET
         workRequest.asyncall = HTTPSENDREQUESTW;
         workRequest.hdr = WININET_AddRef( &lpwhr->hdr );
         req = &workRequest.u.HttpSendRequestW;
-        if (lpBuffersIn->lpcszHeader)
-            /* FIXME: this should use dwHeadersLength or may not be necessary at all */
-            req->lpszHeader = WININET_strdupW(lpBuffersIn->lpcszHeader);
+        if (lpBuffersIn)
+        {
+            if (lpBuffersIn->lpcszHeader)
+                /* FIXME: this should use dwHeadersLength or may not be necessary at all */
+                req->lpszHeader = WININET_strdupW(lpBuffersIn->lpcszHeader);
+            else
+                req->lpszHeader = NULL;
+            req->dwHeaderLength = lpBuffersIn->dwHeadersLength;
+            req->lpOptional = lpBuffersIn->lpvBuffer;
+            req->dwOptionalLength = lpBuffersIn->dwBufferLength;
+            req->dwContentLength = lpBuffersIn->dwBufferTotal;
+        }
         else
+        {
             req->lpszHeader = NULL;
-        req->dwHeaderLength = lpBuffersIn->dwHeadersLength;
-        req->lpOptional = lpBuffersIn->lpvBuffer;
-        req->dwOptionalLength = lpBuffersIn->dwBufferLength;
-        req->dwContentLength = lpBuffersIn->dwBufferTotal;
+            req->dwHeaderLength = 0;
+            req->lpOptional = NULL;
+            req->dwOptionalLength = 0;
+            req->dwContentLength = 0;
+        }
+
         req->bEndRequest = FALSE;
 
         INTERNET_AsyncCall(&workRequest);




More information about the wine-cvs mailing list