[PATCH v4 1/7] vbscript: Fail if we have no context in InvokeEx.

Gabriel Ivăncescu gabrielopcode at gmail.com
Fri Feb 7 07:55:50 CST 2020


The current code can't cope with it, so do the same thing as in GetDispID,
to prevent a possible crash.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>
---

v4:
Added a lot more tests.
Store a ref to the named item in vbscode_t.
Implement SCRIPTITEM_CODEONLY properly.

 dlls/vbscript/vbdisp.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/dlls/vbscript/vbdisp.c b/dlls/vbscript/vbdisp.c
index c14cd7b..36eba21 100644
--- a/dlls/vbscript/vbdisp.c
+++ b/dlls/vbscript/vbdisp.c
@@ -1388,6 +1388,9 @@ static HRESULT WINAPI ScriptDisp_InvokeEx(IDispatchEx *iface, DISPID id, LCID lc
 
     TRACE("(%p)->(%x %x %x %p %p %p %p)\n", This, id, lcid, wFlags, pdp, pvarRes, pei, pspCaller);
 
+    if (!This->ctx)
+        return E_UNEXPECTED;
+
     if (id & DISPID_FUNCTION_MASK)
     {
         id &= ~DISPID_FUNCTION_MASK;
-- 
2.21.0




More information about the wine-devel mailing list