From 7e22487624a699a0d8e530125eda7adda2c48c78 Mon Sep 17 00:00:00 2001 From: James Roseborough Date: Wed, 14 Nov 2007 17:52:39 +0000 Subject: [PATCH] Bullet-proof dynamic stack size --- src/core/org/luaj/vm/LuaState.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/core/org/luaj/vm/LuaState.java b/src/core/org/luaj/vm/LuaState.java index 5ae783f9..b756275e 100644 --- a/src/core/org/luaj/vm/LuaState.java +++ b/src/core/org/luaj/vm/LuaState.java @@ -1622,7 +1622,14 @@ public class LuaState extends Lua { public void pushlvalue(LValue value) { if ( value == null ) throw new java.lang.IllegalArgumentException("stack values cannot be null"); - stack[top++] = value; + try { + stack[top] = value; + } catch ( java.lang.RuntimeException arrayIndexOutOfBounds ) { + checkstack( LUA_MINSTACK ); + stack[top] = value; + } finally { + ++top; + } } /**