Module: wine Branch: master Commit: cbb70ff04199fc125dc2d9af9e2ff866f9a07314 URL: https://source.winehq.org/git/wine.git/?a=commit;h=cbb70ff04199fc125dc2d9af9...
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
---
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)