Subject: bug#62009: 29.0.60; Emacs crashes on setf symbol-name

From: Daniel Mendler <[email-masked]>
Date: Tue, 7 Mar 2023 18:08:43 +0100

On 3/7/23 16:45, Michael Heerdegen wrote:
> Daniel Mendler <[email-masked]> writes:
> 
>> Execute the following in the scratch buffer:
>>
>> (setf (aref (symbol-name 'car) 1) ?o)
>>
>> Emacs crashes with a segmentation fault. Is this a well-known issue? I
>> could reproduce the problem on Emacs 27 and 29. Should there be some
>> mechanism to protect the strings of symbols?
>
> Maybe the outcome was something like that we can't protect everybody in
> every case from shooting in the own foot, I don't recall.

Maybe it would be possible to introduce a flag which marks strings as
"frozen"? Then we could ensure that no mutations of such frozen string
happen. Freezing strings (vectors or pairs) may be generally useful
beyond preventing such issues.

Daniel