From 35c60cd8f48f8b06ec833ebf72e27b86b1485ec2 Mon Sep 17 00:00:00 2001 From: Roman Khimov Date: Thu, 16 Jul 2020 17:14:27 +0300 Subject: [PATCH] vm: fix elements counting for isolated calls The map and the counter are VM-wide, not context-specific, that's the whole point of them. --- pkg/vm/vm.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/vm/vm.go b/pkg/vm/vm.go index 3276ae567..5ef50aa51 100644 --- a/pkg/vm/vm.go +++ b/pkg/vm/vm.go @@ -1391,8 +1391,8 @@ func (v *VM) execute(ctx *Context, op opcode.Opcode, parameter []byte) (err erro newCtx.hasDynamicInvoke = hasDynamicInvoke } newCtx.rvcount = rvcount - newCtx.estack = NewStack("evaluation") - newCtx.astack = NewStack("alt") + newCtx.estack = v.newItemStack("evaluation") + newCtx.astack = v.newItemStack("alt") // Going backwards to naturally push things onto the new stack. for i := pcount; i > 0; i-- { elem := v.estack.RemoveAt(i - 1)