From d9bdf793fe32a69ef29aa40096b410a4a3c67d02 Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Wed, 18 Jul 2007 14:44:20 +0100 Subject: [PATCH] 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 32891be4500..cb382971231 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 9c202ea1b0b..aa96391f7c0 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)