From 8345f7d74c6dba6fcc68d634b98042d8b2980fae Mon Sep 17 00:00:00 2001
From: Alex Shinn <ashinn@users.noreply.github.com>
Date: Sun, 27 Nov 2011 21:12:56 +0900
Subject: [PATCH] pre-setting all values to void on reserve

---
 vm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/vm.c b/vm.c
index 932f0af2..f55844ed 100644
--- a/vm.c
+++ b/vm.c
@@ -1085,7 +1085,8 @@ sexp sexp_apply (sexp ctx, sexp proc, sexp args) {
 #if SEXP_USE_RESERVE_OPCODE
   case SEXP_OP_RESERVE:
     _ALIGN_IP();
-    top += _SWORD0;
+    for (i=_SWORD0; i > 0; i--)
+      stack[top++] = SEXP_VOID;
     ip += sizeof(sexp);
     break;
 #endif