diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c index 602181c3135..77001210fb4 100644 --- a/dlls/oleaut32/typelib.c +++ b/dlls/oleaut32/typelib.c @@ -6499,6 +6499,7 @@ static HRESULT WINAPI ITypeInfo_fnInvoke( if (hres != S_OK) { ERR("SafeArrayAccessData failed with %x\n", hres); + SafeArrayDestroy(a); break; } for (j = 0; j < bound.cElements; j++) @@ -6507,6 +6508,7 @@ static HRESULT WINAPI ITypeInfo_fnInvoke( if (hres != S_OK) { ERR("SafeArrayUnaccessData failed with %x\n", hres); + SafeArrayDestroy(a); break; } V_ARRAY(&rgvarg[i]) = a;