Jacek Caban : vbscript: Don't allow changing script state when script site is not set.
Alexandre Julliard
julliard at winehq.org
Tue Nov 5 16:11:44 CST 2019
Module: wine
Branch: master
Commit: 706898dcbb5d1553a3e9f60c422f9112fad57694
URL: https://source.winehq.org/git/wine.git/?a=commit;h=706898dcbb5d1553a3e9f60c422f9112fad57694
Author: Jacek Caban <jacek at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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) {
More information about the wine-cvs
mailing list