summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/vm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/vm.c b/src/vm.c
index b89b6d0c5..8bb446fa9 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -169,6 +169,9 @@ stack_extend_alloc(mrb_state *mrb, int room, int keep)
static inline void
stack_extend(mrb_state *mrb, int room, int keep)
{
+ if (room < keep) {
+ room = keep;
+ }
if (mrb->c->stack + room >= mrb->c->stend) {
stack_extend_alloc(mrb, room, keep);
}