Huw Davies : wininet: Certain options of InternetQueryOption can take a NULL handle, so don' t do the NULL handle check at the beginning.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Jul 19 07:59:41 CDT 2007


Module: wine
Branch: master
Commit: d9bdf793fe32a69ef29aa40096b410a4a3c67d02
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d9bdf793fe32a69ef29aa40096b410a4a3c67d02

Author: Huw Davies <huw at codeweavers.com>
Date:   Wed Jul 18 14:44:20 2007 +0100

wininet: Certain options of InternetQueryOption can take a NULL handle, so don't do the NULL handle check at the beginning.

---

 dlls/wininet/internet.c       |   10 +++++-----
 dlls/wininet/tests/internet.c |    5 +++++
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c
index 32891be..cb38297 100644
--- a/dlls/wininet/internet.c
+++ b/dlls/wininet/internet.c
@@ -1943,11 +1943,6 @@ static BOOL INET_QueryOptionHelper(BOOL bIsUnicode, HINTERNET hInternet, DWORD d
     TRACE("(%p, 0x%08x, %p, %p)\n", hInternet, dwOption, lpBuffer, lpdwBufferLength);
 
     lpwhh = (LPWININETHANDLEHEADER) WININET_GetObject( hInternet );
-    if (!lpwhh)
-    {
-        INTERNET_SetLastError(ERROR_INVALID_PARAMETER);
-        return FALSE;
-    }
 
     switch (dwOption)
     {
@@ -2214,6 +2209,11 @@ static BOOL INET_QueryOptionHelper(BOOL bIsUnicode, HINTERNET hInternet, DWORD d
             break;
 
         case INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT:
+            if (!lpwhh)
+            {
+                INTERNET_SetLastError(ERROR_INVALID_PARAMETER);
+                return FALSE;
+            }
             if (*lpdwBufferLength < sizeof(INTERNET_CERTIFICATE_INFOW))
             {
                 *lpdwBufferLength = sizeof(INTERNET_CERTIFICATE_INFOW);
diff --git a/dlls/wininet/tests/internet.c b/dlls/wininet/tests/internet.c
index 9c202ea..aa96391 100644
--- a/dlls/wininet/tests/internet.c
+++ b/dlls/wininet/tests/internet.c
@@ -214,6 +214,11 @@ static void test_null(void)
   ok( sz == lstrlenW(buffer), "sz wrong\n");
   ok( !lstrcmpW(szExpect, buffer), "cookie data wrong\n");
   }
+
+  sz = sizeof(buffer);
+  r = InternetQueryOptionA(NULL, INTERNET_OPTION_CONNECTED_STATE, buffer, &sz);
+  ok(r == TRUE, "ret %d\n", r);
+
 }
 
 START_TEST(internet)




More information about the wine-cvs mailing list