When using do-screen-chas-with-font-info and most likely the underlying do-vector-contents it's possible to specify a :stop position longer than the vector, at which point the iterator var gets nil likely causing crashes. I think that it probably all (if not mostly all) cases we should check this and not iterate past the end of the vector. These specialized vectors contain a member with the current length, and the actual storage vector is usually padded past that point with nils for performance reasons.
When using
do-screen-chas-with-font-info
and most likely the underlyingdo-vector-contents
it's possible to specify a :stop position longer than the vector, at which point the iteratorvar
getsnil
likely causing crashes. I think that it probably all (if not mostly all) cases we should check this and not iterate past the end of the vector. These specialized vectors contain a member with the current length, and the actual storage vector is usually padded past that point withnil
s for performance reasons.https://github.com/boxer-project/boxer-sunrise/blob/master/src/definitions/disdef.lisp#L515
https://github.com/boxer-project/boxer-sunrise/blob/master/src/definitions/storage.lisp#L485