From e2cfb2a90a85bcb7a8f6a6a6a6a8c9e0a3d1d371 Mon Sep 17 00:00:00 2001 From: brian Date: Sun, 3 Jul 2005 20:35:55 +0000 Subject: [PATCH 1/1] stack overflow checking darcs-hash:20050703203555-24bed-6830336c6205eb9ab4208f81e216f34099de3424.gz --- src/org/ibex/classgen/JSSA.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/org/ibex/classgen/JSSA.java b/src/org/ibex/classgen/JSSA.java index 92d31f0..c16f5e6 100644 --- a/src/org/ibex/classgen/JSSA.java +++ b/src/org/ibex/classgen/JSSA.java @@ -73,8 +73,14 @@ public class JSSA extends MethodGen implements CGConst { /** JVM stack pointer */ private int sp = 0; - private Expr push(Expr e) { return stack[sp++] = e; } - private Expr pop() { return stack[--sp]; } + private Expr push(Expr e) { + if(sp == stack.length-1) throw new IllegalStateException("stack overflow"); + return stack[sp++] = e; + } + private Expr pop() { + if(sp == 0) throw new IllegalStateException("stack underflow"); + return stack[--sp]; + } // SSA-node classes ///////////////////////////////////////////////////////////////////////////////////////// -- 1.7.10.4