summaryrefslogtreecommitdiff
path: root/libguile/vm-i-scheme.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-05-02 13:15:22 +0200
committerAndy Wingo <wingo@pobox.com>2010-05-02 13:15:22 +0200
commit384dce46bf2313f9c429984b4e7cefe9d14fbcee (patch)
tree5f5b6c0274515201c8df2367cb27e970bb68d27e /libguile/vm-i-scheme.c
parentba2d960396c692986ee42274dc7f1d7eb72a9c89 (diff)
downloadguile-384dce46bf2313f9c429984b4e7cefe9d14fbcee.tar.gz
add underflow check in make-array
* libguile/vm-i-scheme.c (make-array): Check for underflow before making the array.
Diffstat (limited to 'libguile/vm-i-scheme.c')
-rw-r--r--libguile/vm-i-scheme.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c
index d2bd43514..fb1af1106 100644
--- a/libguile/vm-i-scheme.c
+++ b/libguile/vm-i-scheme.c
@@ -386,6 +386,7 @@ VM_DEFINE_INSTRUCTION (163, make_array, "make-array", 3, -1, 1)
len = (len << 8) + FETCH ();
POP (shape);
SYNC_REGISTER ();
+ PRE_CHECK_UNDERFLOW (len);
ret = scm_from_contiguous_array (shape, sp - len + 1, len);
DROPN (len);
PUSH (ret);