From: Joe Marshall Date: Wed, 25 Jan 2012 06:42:47 +0000 (-0800) Subject: Check record-length before dereferencing. X-Git-Tag: release-9.2.0~332^2~9 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=19003d4656d5450e6d8208ed6d8368216204e48d;p=mit-scheme.git Check record-length before dereferencing. --- diff --git a/src/runtime/defstr.scm b/src/runtime/defstr.scm index 652e811e4..af1d43ad9 100644 --- a/src/runtime/defstr.scm +++ b/src/runtime/defstr.scm @@ -790,6 +790,9 @@ differences: (DECLARE (IGNORE-REFERENCE-TRAPS (SET ,(close tag-name context)))) (AND (,(absolute '%RECORD? context) OBJECT) + (,(absolute 'NOT context) + (,(absolute 'ZERO? context) + (,(absolute '%RECORD-LENGTH context) OBJECT))) (,(absolute 'EQ? context) (,(absolute '%RECORD-REF context) OBJECT 0) ;++ Work around a bug in the expander.