commit 36a7fda014d59ef14ca1fcbcf5bb38141495f11f
parent 1bb3fb73cc65d35df9cd737f4445ad9361f85775
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Mon, 9 Oct 1995 15:45:40 -0300
bug: stack overflow error must leave space on the stack for error function.
Diffstat:
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/opcode.c b/opcode.c
@@ -3,7 +3,7 @@
** TecCGraf - PUC-Rio
*/
-char *rcs_opcode="$Id: opcode.c,v 3.40 1995/10/04 14:20:26 roberto Exp roberto $";
+char *rcs_opcode="$Id: opcode.c,v 3.41 1995/10/09 13:10:20 roberto Exp roberto $";
#include <setjmp.h>
#include <stdlib.h>
@@ -91,13 +91,11 @@ static void growstack (void)
else
{
Long maxstack = stackLimit - stack;
- if (maxstack >= MAX_INT)
- lua_error("stack size overflow");
maxstack *= 2;
- if (maxstack >= MAX_INT)
- maxstack = MAX_INT;
stack = growvector(stack, maxstack, Object);
stackLimit = stack+maxstack;
+ if (maxstack >= MAX_WORD/2)
+ lua_error("stack size overflow");
}
top = stack + t;
}