From: Conor McCarthy <cmccarthy@codeweavers.com> --- dlls/wbemdisp/locator.c | 2 ++ dlls/wbemdisp/tests/wbemdisp.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/dlls/wbemdisp/locator.c b/dlls/wbemdisp/locator.c index c3e0c86f4ae..6afe1875a69 100644 --- a/dlls/wbemdisp/locator.c +++ b/dlls/wbemdisp/locator.c @@ -2020,6 +2020,8 @@ static HRESULT WINAPI enumvar_Next( IEnumVARIANT *iface, ULONG celt, VARIANT *va TRACE( "%p, %lu, %p, %p\n", iface, celt, var, fetched ); + if (!var) return S_FALSE; + if (celt) IEnumWbemClassObject_Next( enumvar->objectenum, WBEM_INFINITE, 1, &obj, &count ); if (count) { diff --git a/dlls/wbemdisp/tests/wbemdisp.c b/dlls/wbemdisp/tests/wbemdisp.c index 0c68e903d63..73f4272f66e 100644 --- a/dlls/wbemdisp/tests/wbemdisp.c +++ b/dlls/wbemdisp/tests/wbemdisp.c @@ -516,6 +516,8 @@ static void test_locator(void) hr = ISWbemObjectSet_get__NewEnum( object_set, (IUnknown**)&enum_var ); ok( hr == S_OK, "got %#lx\n", hr ); + hr = IEnumVARIANT_Next( enum_var, 1, NULL, NULL ); + ok( hr == S_FALSE, "got %#lx\n", hr ); VariantInit( &var ); hr = IEnumVARIANT_Next( enum_var, 1, &var, NULL ); ok( hr == S_OK, "got %#lx\n", hr ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11711