summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/com/COM.c7
-rw-r--r--ext/rpc/com/com_wrapper.c7
2 files changed, 14 insertions, 0 deletions
diff --git a/ext/com/COM.c b/ext/com/COM.c
index aeae84ddcf..3b455c1e9c 100644
--- a/ext/com/COM.c
+++ b/ext/com/COM.c
@@ -162,6 +162,13 @@ PHPAPI HRESULT php_COM_invoke(comval *obj, DISPID dispIdMember, WORD wFlags, DIS
}
}
+ if(!pVarResult)
+ {
+ VariantInit(pVarResult);
+ V_VT(pVarResult) = VT_I4;
+ V_I4(pVarResult) = hr;
+ }
+
return hr;
}
else
diff --git a/ext/rpc/com/com_wrapper.c b/ext/rpc/com/com_wrapper.c
index aeae84ddcf..3b455c1e9c 100644
--- a/ext/rpc/com/com_wrapper.c
+++ b/ext/rpc/com/com_wrapper.c
@@ -162,6 +162,13 @@ PHPAPI HRESULT php_COM_invoke(comval *obj, DISPID dispIdMember, WORD wFlags, DIS
}
}
+ if(!pVarResult)
+ {
+ VariantInit(pVarResult);
+ V_VT(pVarResult) = VT_I4;
+ V_I4(pVarResult) = hr;
+ }
+
return hr;
}
else