Module: wine Branch: master Commit: 706898dcbb5d1553a3e9f60c422f9112fad57694 URL: https://source.winehq.org/git/wine.git/?a=commit;h=706898dcbb5d1553a3e9f60c4...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Nov 5 14:08:09 2019 +0100
vbscript: Don't allow changing script state when script site is not set.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/vbscript/tests/vbscript.c | 5 +++++ dlls/vbscript/vbscript.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/dlls/vbscript/tests/vbscript.c b/dlls/vbscript/tests/vbscript.c index fdbfc4465b..fd769cc280 100644 --- a/dlls/vbscript/tests/vbscript.c +++ b/dlls/vbscript/tests/vbscript.c @@ -713,6 +713,11 @@ static void test_vbscript_uninitializing(void)
test_no_script_dispatch(script);
+ hres = IActiveScript_SetScriptState(script, SCRIPTSTATE_STARTED); + ok(hres == E_UNEXPECTED, "SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n", hres); + hres = IActiveScript_SetScriptState(script, SCRIPTSTATE_INITIALIZED); + ok(hres == E_UNEXPECTED, "SetScriptState(SCRIPTSTATE_INITIALIZED) failed: %08x\n", hres); + SET_EXPECT(GetLCID); SET_EXPECT(OnStateChange_INITIALIZED); hres = IActiveScript_SetScriptSite(script, &ActiveScriptSite); diff --git a/dlls/vbscript/vbscript.c b/dlls/vbscript/vbscript.c index 59ec577846..ebd100f4e5 100644 --- a/dlls/vbscript/vbscript.c +++ b/dlls/vbscript/vbscript.c @@ -457,7 +457,7 @@ static HRESULT WINAPI VBScript_SetScriptState(IActiveScript *iface, SCRIPTSTATE return S_OK; }
- if(!This->is_initialized) + if(!This->is_initialized || !This->ctx->site) return E_UNEXPECTED;
switch(ss) {