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

Alexandre Julliard julliard at winehq.org
Tue Nov 10 13:46:22 CST 2020


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

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>
(cherry picked from commit cbb70ff04199fc125dc2d9af9e2ff866f9a07314)
Signed-off-by: Michael Stefaniuc <mstefani 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 a000884dc86..a121023ae3e 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -912,17 +912,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 13de60ff4d6..0819379299f 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -7297,6 +7297,11 @@ static void test_defaults(IHTMLDocument2 *doc)
     test_default_selection(doc);
     test_doc_title(doc, "");
     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