[3/4] winhttp: Accept empty headers parameter in WinHttpSendRequest.
Hans Leidekker
hans at codeweavers.com
Thu Oct 29 05:12:22 CDT 2009
Fixes http://bugs.winehq.org/show_bug.cgi?id=19489
---
dlls/winhttp/request.c | 1 +
dlls/winhttp/tests/winhttp.c | 25 +++++++++++++++++++++++++
2 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c
index ea0ecda..d504ea5 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -411,6 +411,7 @@ BOOL add_request_headers( request_t *request, LPCWSTR headers, DWORD len, DWORD
header_t *header;
if (len == ~0u) len = strlenW( headers );
+ if (!len) return TRUE;
if (!(buffer = heap_alloc( (len + 1) * sizeof(WCHAR) ))) return FALSE;
strcpyW( buffer, headers );
diff --git a/dlls/winhttp/tests/winhttp.c b/dlls/winhttp/tests/winhttp.c
index 24bdbb8..f72044d 100644
--- a/dlls/winhttp/tests/winhttp.c
+++ b/dlls/winhttp/tests/winhttp.c
@@ -221,6 +221,30 @@ static void test_OpenRequest (void)
}
+static void test_empty_headers_param(void)
+{
+ static const WCHAR winehq[] = {'w','i','n','e','h','q','.','o','r','g',0};
+ static const WCHAR empty[] = {0};
+ HANDLE ses, con, req;
+ BOOL ret;
+
+ ses = WinHttpOpen(test_useragent, 0, NULL, NULL, 0);
+ ok(ses != NULL, "failed to open session %u\n", GetLastError());
+
+ con = WinHttpConnect(ses, winehq, 80, 0);
+ ok(con != NULL, "failed to open a connection %u\n", GetLastError());
+
+ req = WinHttpOpenRequest(con, NULL, NULL, NULL, NULL, NULL, 0);
+ ok(req != NULL, "failed to open a request %u\n", GetLastError());
+
+ ret = WinHttpSendRequest(req, empty, 0, NULL, 0, 0, 0);
+ ok(ret, "failed to send request %u\n", GetLastError());
+
+ WinHttpCloseHandle(req);
+ WinHttpCloseHandle(con);
+ WinHttpCloseHandle(ses);
+}
+
static void test_SendRequest (void)
{
HINTERNET session, request, connection;
@@ -978,4 +1002,5 @@ START_TEST (winhttp)
test_request_parameter_defaults();
test_QueryOption();
test_set_default_proxy_config();
+ test_empty_headers_param();
}
--
1.6.3.3
More information about the wine-patches
mailing list