Module: wine Branch: master Commit: 7d8fd7df8f13979e8f6838b577cc56c8ebe6cff3 URL: https://gitlab.winehq.org/wine/wine/-/commit/7d8fd7df8f13979e8f6838b577cc56c... Author: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Date: Wed Jun 21 21:12:50 2023 +0300 mshtml: Handle failure and cleanup properly when enumerating nodes. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> --- dlls/mshtml/htmlnode.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dlls/mshtml/htmlnode.c b/dlls/mshtml/htmlnode.c index c967f2f474b..b29383ad9ff 100644 --- a/dlls/mshtml/htmlnode.c +++ b/dlls/mshtml/htmlnode.c @@ -135,8 +135,9 @@ static HRESULT WINAPI HTMLDOMChildrenCollectionEnum_Next(IEnumVARIANT *iface, UL hres = get_node(nsnode, TRUE, &node); nsIDOMNode_Release(nsnode); if(FAILED(hres)) { - ERR("get_node failed: %08lx\n", hres); - break; + while(fetched--) + VariantClear(rgVar+fetched); + return hres; } V_VT(rgVar+fetched) = VT_DISPATCH;