~ 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