Module: wine Branch: master Commit: 9e3c806e53bbf78dffa05b4e86c3332b2de34fa8 URL: https://source.winehq.org/git/wine.git/?a=commit;h=9e3c806e53bbf78dffa05b4e8...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Oct 23 15:10:58 2019 +0200
vbscript: Fix array reference handling in do_icall.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/vbscript/interp.c | 4 ++-- dlls/vbscript/tests/lang.vbs | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/dlls/vbscript/interp.c b/dlls/vbscript/interp.c index a77f974772..fee3e72959 100644 --- a/dlls/vbscript/interp.c +++ b/dlls/vbscript/interp.c @@ -544,10 +544,10 @@ static HRESULT do_icall(exec_ctx_t *ctx, VARIANT *res)
switch(V_VT(v)) { case VT_ARRAY|VT_BYREF|VT_VARIANT: - array = *V_ARRAYREF(ref.u.v); + array = *V_ARRAYREF(v); break; case VT_ARRAY|VT_VARIANT: - array = V_ARRAY(ref.u.v); + array = V_ARRAY(v); break; case VT_DISPATCH: vbstack_to_dp(ctx, arg_cnt, FALSE, &dp); diff --git a/dlls/vbscript/tests/lang.vbs b/dlls/vbscript/tests/lang.vbs index 6ddb2e79f5..ef31004cc4 100644 --- a/dlls/vbscript/tests/lang.vbs +++ b/dlls/vbscript/tests/lang.vbs @@ -1300,8 +1300,7 @@ Call testarrarg(false, "VT_BOOL*") Call testarrarg(Empty, "VT_EMPTY*")
Sub modifyarr(arr) - 'Following test crashes on wine - 'Call ok(arr(0) = "not modified", "arr(0) = " & arr(0)) + Call ok(arr(0) = "not modified", "arr(0) = " & arr(0)) arr(0) = "modified" End Sub