From 6e8c92a69c6f7abe88d98e729e06bca6ccf17d72 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Tue, 6 Dec 2011 16:13:18 +0000 Subject: Fix stack corruption when using arguments (param access off by one) --- Variables.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Variables.py') diff --git a/Variables.py b/Variables.py index 89c8501..26de704 100644 --- a/Variables.py +++ b/Variables.py @@ -48,7 +48,8 @@ class Variables(object): # XXX don't hardcode R5 return ("R5", str(-self.local_vars[name])) try: - return ("R5", str(1 + self.param_vars.index(name))) + # 1 for the return address, 1 for the stored BP + return ("R5", str(2 + self.param_vars.index(name))) except ValueError: pass # lookup in the parent -- cgit v1.2.1