array-list: Add bounds checking to array-list-ref.
authorDavid Thompson <dthompson2@worcester.edu>
Fri, 11 Oct 2019 21:10:09 +0000 (17:10 -0400)
committerDavid Thompson <dthompson2@worcester.edu>
Fri, 11 Oct 2019 21:10:09 +0000 (17:10 -0400)
chickadee/array-list.scm

index dad0b8d..54a11e8 100644 (file)
@@ -76,7 +76,9 @@
     (set-array-list-vector! array-list new-vec)))
 
 (define (array-list-ref array-list i)
-  (vector-ref (array-list-vector array-list) i))
+  (if (and (>= i 0) (< i (array-list-size array-list)))
+      (vector-ref (array-list-vector array-list) i)
+      (error "array list index out of bounds" i)))
 
 (define (array-list-set! array-list i x)
   (vector-set! (array-list-vector array-list) i x))