Andrew Nguyen arethusa26@gmail.com writes:
@@ -221,9 +221,17 @@ static HRESULT WINAPI IDxDiagContainerImpl_GetProp(PDXDIAGCONTAINER iface, LPCWS
p = This->properties; while (NULL != p) {
- if (0 == lstrcmpW(p->vName, pwszPropName)) {
VariantCopy(pvarProp, &p->v);
return S_OK;
- if (0 == lstrcmpW(p->vName, pwszPropName)) {
HRESULT hr = VariantClear(pvarProp);
if (hr == DISP_E_ARRAYISLOCKED)
{
while (SafeArrayUnlock(V_ARRAY(pvarProp)) == S_OK);
VariantClear(pvarProp);
This looks suspicious. Do you have evidence that the array should be forcibly unlocked and destroyed?