On Tue, 2013-06-04 at 10:16 +0200, Marcus Meissner wrote:
>  1020943 Uninitialized scalar variable
> 
> After suggestion by Hans, do it in the helper ... especially
> as the other external callers do not initialize schemes either.

I also said that you shouldn't touch the parameter on error :) The other
callers pass a pointer to a user variable and the attached test confirms
that native doesn't touch it.

diff --git a/dlls/winhttp/tests/winhttp.c b/dlls/winhttp/tests/winhttp.c
index 03de012..76d84fd 100644
--- a/dlls/winhttp/tests/winhttp.c
+++ b/dlls/winhttp/tests/winhttp.c
@@ -1859,7 +1859,7 @@ static void test_basic_request(int port, const WCHAR *verb, const WCHAR *path)
 {
     HINTERNET ses, con, req;
     char buffer[0x100];
-    DWORD count, status, size;
+    DWORD count, status, size, supported, first, target;
     BOOL ret;
 
     ses = WinHttpOpen(test_useragent, 0, NULL, NULL, 0);
@@ -1882,6 +1882,13 @@ static void test_basic_request(int port, const WCHAR *verb, const WCHAR *path)
     ok(ret, "failed to query status code %u\n", GetLastError());
     ok(status == 200, "request failed unexpectedly %u\n", status);
 
+    supported = first = target = 0xffff;
+    ret = WinHttpQueryAuthSchemes(req, &supported, &first, &target);
+    ok(!ret, "unexpected success\n");
+    ok(supported == 0xffff, "got %x\n", supported);
+    ok(first == 0xffff, "got %x\n", first);
+    ok(target == 0xffff, "got %x\n", target);
+
     count = 0;
     memset(buffer, 0, sizeof(buffer));
     ret = WinHttpReadData(req, buffer, sizeof buffer, &count);
@@ -1900,7 +1907,7 @@ static void test_basic_authentication(int port)
     static const WCHAR userW[] = {'u','s','e','r',0};
     static const WCHAR passW[] = {'p','w','d',0};
     HINTERNET ses, con, req;
-    DWORD status, size, error;
+    DWORD status, size, error, supported, first, target;
     BOOL ret;
 
     ses = WinHttpOpen(test_useragent, 0, NULL, NULL, 0);
@@ -1912,6 +1919,13 @@ static void test_basic_authentication(int port)
     req = WinHttpOpenRequest(con, NULL, authW, NULL, NULL, NULL, 0);
     ok(req != NULL, "failed to open a request %u\n", GetLastError());
 
+    supported = first = target = 0xffff;
+    ret = WinHttpQueryAuthSchemes(req, &supported, &first, &target);
+    ok(!ret, "unexpected success\n");
+    ok(supported == 0xffff, "got %x\n", supported);
+    ok(first == 0xffff, "got %x\n", first);
+    ok(target == 0xffff, "got %x\n", target);
+
     ret = WinHttpSendRequest(req, NULL, 0, NULL, 0, 0, 0);
     ok(ret, "failed to send request %u\n", GetLastError());
 


Reply via email to