[PATCH 3/4] wininet: Fix some InternetErrorDlg() conditions returning ERROR_INVALID_PARAMETER.

Dmitry Timoshkov dmitry at baikal.ru
Fri Aug 6 07:43:19 CDT 2021


Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
 dlls/wininet/dialogs.c        | 5 +----
 dlls/wininet/tests/internet.c | 4 ++--
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/dlls/wininet/dialogs.c b/dlls/wininet/dialogs.c
index a425534fa87..6f15c4f04a8 100644
--- a/dlls/wininet/dialogs.c
+++ b/dlls/wininet/dialogs.c
@@ -498,7 +498,7 @@ DWORD WINAPI InternetErrorDlg(HWND hWnd, HINTERNET hRequest,
         if( !dwError && !(dwFlags & FLAGS_ERROR_UI_FILTER_FOR_ERRORS ) )
             break;
         if(!req)
-            return ERROR_INVALID_HANDLE;
+            return ERROR_INVALID_PARAMETER;
 
         switch(req->status_code) {
         case HTTP_STATUS_PROXY_AUTH_REQ:
@@ -523,9 +523,6 @@ DWORD WINAPI InternetErrorDlg(HWND hWnd, HINTERNET hRequest,
             res = ERROR_CANCELLED;
             break;
         }
-        if(!req)
-            return ERROR_INVALID_HANDLE;
-
 
         if( dwFlags & ~FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS )
             FIXME("%08x contains unsupported flags.\n", dwFlags);
diff --git a/dlls/wininet/tests/internet.c b/dlls/wininet/tests/internet.c
index e137f7bd725..f59fbc4dd4d 100644
--- a/dlls/wininet/tests/internet.c
+++ b/dlls/wininet/tests/internet.c
@@ -1605,7 +1605,7 @@ static void test_InternetErrorDlg(void)
             expected = ERROR_INVALID_PARAMETER;
 
         res = InternetErrorDlg(hwnd, NULL, i, FLAGS_ERROR_UI_FLAGS_NO_UI, NULL);
-        todo_wine_if((test_flags & FLAG_TODO) || i == ERROR_INTERNET_INCORRECT_PASSWORD || i == ERROR_INTERNET_INSERT_CDROM || i == ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED)
+        todo_wine_if((test_flags & FLAG_TODO) || i == ERROR_INTERNET_INSERT_CDROM || i == ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED)
             ok(res == expected, "Got %d, expected %d (%d)\n", res, expected, i);
 
         if(test_flags & FLAG_NEEDREQ)
@@ -1615,7 +1615,7 @@ static void test_InternetErrorDlg(void)
         todo_wine_if(i != ERROR_INTERNET_SEC_CERT_DATE_INVALID && i != ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR &&
                      i != ERROR_INTERNET_SEC_CERT_CN_INVALID && i != ERROR_INTERNET_INVALID_CA &&
                      i != ERROR_INTERNET_SEC_CERT_ERRORS && i != ERROR_INTERNET_SEC_CERT_REV_FAILED &&
-                     i != ERROR_INTERNET_POST_IS_NON_SECURE)
+                     i != ERROR_INTERNET_POST_IS_NON_SECURE && i != ERROR_INTERNET_INCORRECT_PASSWORD)
         ok(res == expected2, "Got %d, expected %d (%d)\n", res, expected2, i);
     }
 
-- 
2.31.1




More information about the wine-devel mailing list