From 0c606491335e99017897a7710461214412243dd7 Mon Sep 17 00:00:00 2001 From: Teddy Date: Fri, 9 Aug 2013 10:31:09 +0800 Subject: ... --- eval.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'eval.cpp') diff --git a/eval.cpp b/eval.cpp index 2d03c0c..aa4f729 100644 --- a/eval.cpp +++ b/eval.cpp @@ -93,6 +93,8 @@ EvalObj *Evaluator::run_expr(Pair *prog) { while((*eval_stack)->is_ret_addr()) { + if (top_ptr == eval_stack + EVAL_STACK_SIZE) + throw TokenError("Evaluation", RUN_ERR_STACK_OVERFLOW); for (; pc && pc->skip; pc = pc->next); if (pc) push(pc, top_ptr, envt); -- cgit v1.2.3