From 706898dcbb5d1553a3e9f60c422f9112fad57694 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Tue, 5 Nov 2019 14:08:09 +0100 Subject: [PATCH] vbscript: Don't allow changing script state when script site is not set. Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- 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 fdbfc4465b4..fd769cc2804 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 59ec577846a..ebd100f4e50 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) {