From a17196d1f397d7b7f22e30ecd0e3affdf2943934 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Mon, 22 Jan 2024 14:11:01 -0800 Subject: [PATCH] Call VariantInit to initialize variants Should fix ASAN failures on Windows that were caused by VariantClear calls on uninitialized VARIANTs that happened to have a VarType that would lead to additional freeing. --- src/tests/Interop/PInvoke/IEnumerator/IEnumeratorNative.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/tests/Interop/PInvoke/IEnumerator/IEnumeratorNative.cpp b/src/tests/Interop/PInvoke/IEnumerator/IEnumeratorNative.cpp index a0d8703233f4b2..a42e6d2144d5f9 100644 --- a/src/tests/Interop/PInvoke/IEnumerator/IEnumeratorNative.cpp +++ b/src/tests/Interop/PInvoke/IEnumerator/IEnumeratorNative.cpp @@ -26,6 +26,7 @@ extern "C" DLL_EXPORT HRESULT STDMETHODCALLTYPE VerifyIntegerEnumerator(IEnumVAR HRESULT hr = S_OK; VARIANT element; + VariantInit(&element); ULONG numFetched; for (int i = start; i < start + count; ++i) @@ -68,6 +69,7 @@ extern "C" DLL_EXPORT HRESULT STDMETHODCALLTYPE VerifyIntegerEnumeration(IDispat { DISPPARAMS params{}; VARIANT result; + VariantInit(&result); HRESULT hr = pDisp->Invoke( DISPID_NEWENUM, IID_NULL,