Jacek Caban : mshtml: Return NULL in IHTMLDocument2::get_cookie if InternetGetCookieExW failes.

Alexandre Julliard julliard at winehq.org
Mon Jun 29 14:59:21 CDT 2020


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon Jun 29 16:49:40 2020 +0200

mshtml: Return NULL in IHTMLDocument2::get_cookie if InternetGetCookieExW failes.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mshtml/htmldoc.c   | 15 ++++-----------
 dlls/mshtml/tests/dom.c |  5 +++++
 2 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index 57ec662de8..0f8bf3f2dc 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -904,17 +904,10 @@ static HRESULT WINAPI HTMLDocument_get_cookie(IHTMLDocument2 *iface, BSTR *p)
 
     size = 0;
     bret = InternetGetCookieExW(This->window->url, NULL, NULL, &size, 0, NULL);
-    if(!bret) {
-        switch(GetLastError()) {
-        case ERROR_INSUFFICIENT_BUFFER:
-            break;
-        case ERROR_NO_MORE_ITEMS:
-            *p = NULL;
-            return S_OK;
-        default:
-            FIXME("InternetGetCookieExW failed: %u\n", GetLastError());
-            return HRESULT_FROM_WIN32(GetLastError());
-        }
+    if(!bret && GetLastError() != ERROR_INSUFFICIENT_BUFFER) {
+        WARN("InternetGetCookieExW failed: %u\n", GetLastError());
+        *p = NULL;
+        return S_OK;
     }
 
     if(!size) {
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index 7b19271ad4..89785123c6 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -7276,6 +7276,11 @@ static void test_defaults(IHTMLDocument2 *doc)
     test_default_selection(doc);
     test_doc_title(doc, L"");
     test_dom_implementation(doc);
+
+    str = (BSTR)0xdeadbeef;
+    hres = IHTMLDocument2_get_cookie(doc, &str);
+    ok(hres == S_OK, "get_cookie failed: %08x\n", hres);
+    ok(!str, "cookie = %s\n", wine_dbgstr_w(str));
 }
 
 #define test_button_name(a,b) _test_button_name(__LINE__,a,b)




More information about the wine-cvs mailing list