From 16c84948c2f765d95db3dbb6d96e04a35b88fd3a Mon Sep 17 00:00:00 2001 From: Giulio De Pasquale Date: Sat, 8 Jul 2017 23:27:38 +0200 Subject: [PATCH] =?UTF-8?q?Lo=20stack=20non=20pu=C3=B2=20andare=20sotto=20?= =?UTF-8?q?zero?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vm/vm.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vm/vm.cpp b/vm/vm.cpp index 6c90474..aa7a0f1 100644 --- a/vm/vm.cpp +++ b/vm/vm.cpp @@ -617,6 +617,10 @@ bool VM::execPOOP(void) { dst = as.code[regs[IP] + 1]; DBG_INFO(("POOP %s\n", getRegName(dst))); + if (regs[SP] - sizeof(uint16_t) < 0) { + DBG_ERROR(("Stack is going below 0!\n")); + return false; + } regs[SP] -= sizeof(uint16_t); memcpy(®s[dst], &as.stack[regs[SP]], sizeof(uint16_t)); return true;