~ chicken-core (chicken-5) c1a2206c03c42726e5434b67c3b4a923ed766eca
commit c1a2206c03c42726e5434b67c3b4a923ed766eca
Author: Christian Kellermann <ckeen@pestilenz.org>
AuthorDate: Sat Mar 17 19:36:46 2012 +0100
Commit: Peter Bex <peter.bex@xs4all.nl>
CommitDate: Thu Mar 22 21:23:12 2012 +0100
Do not specialise make-vector calls with negative lengths
Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
diff --git a/c-platform.scm b/c-platform.scm
index 856af14e..d502dc0d 100644
--- a/c-platform.scm
+++ b/c-platform.scm
@@ -1045,7 +1045,7 @@
(let ([tmp (gensym)]
[c (first (node-parameters n))] )
(and (fixnum? c)
- (<= c 32)
+ (<= 0 c 32)
(let ([val (if (pair? (cdr callargs))
(second callargs)
(make-node '##core#undefined '() '()) ) ] )
diff --git a/tests/library-tests.scm b/tests/library-tests.scm
index b13b84f1..6e9fdad8 100644
--- a/tests/library-tests.scm
+++ b/tests/library-tests.scm
@@ -269,3 +269,7 @@
(assert (= 2 guard-called))
+;;; vector and blob limits
+
+(assert-fail (make-blob -1))
+(assert-fail (make-vector -1))
Trap