Module: wine Branch: stable Commit: c1c4ea12313da02f9a9b7b7f46817cdd97185a0d URL: https://source.winehq.org/git/wine.git/?a=commit;h=c1c4ea12313da02f9a9b7b7f4...
Author: Jacek Caban jacek@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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit cbb70ff04199fc125dc2d9af9e2ff866f9a07314) Signed-off-by: Michael Stefaniuc mstefani@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)