Subject: bug#74966: 31.0.50; Crash report (using igc on macOS)

From: Stefan Monnier <[email-masked]>
Date: Sat, 21 Dec 2024 09:26:24 -0500

>> `offset` here should be fixnum that gives the position of this docstring
>> in the DOC file.  And FUN should be a function for which we found
>
> Yes, but the nativecomp code assumes ->doc is an index into a
> nativecomp'd subr's constant vector.

Aha!

> So we overwrite it with a docfile
> index, access an out-of-bounds index and crash.
>
> I think the best thing to do is to use separate fields for the "offset"
> doc and the "index" doc; or at least, the second best thing, after
> removing the entire docfile hack.

I think a much simpler change is to use the sign bit to distinguish indices
into the constant vector from indices into the DOC file.

        Stefan