* src/lread.c (read_vector): If the vector is to short to be for
bytecodes don’t do bytecode processing for it, as the processing
might run past the end of the vector.
ptrdiff_t size = list_length (tem);
Lisp_Object vector = make_nil_vector (size);
+ /* Avoid accessing past the end of a vector if the vector is too
+ small to be valid for bytecode. */
+ bytecodeflag &= COMPILED_STACK_DEPTH < size;
+
Lisp_Object *ptr = XVECTOR (vector)->contents;
for (ptrdiff_t i = 0; i < size; i++)
{