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