GNU bug report logs - #62009
29.0.60; Emacs crashes on setf symbol-name

Previous Next

Package: emacs;

Reported by: Daniel Mendler <mail <at> daniel-mendler.de>

Date: Mon, 6 Mar 2023 19:28:01 UTC

Severity: normal

Found in version 29.0.60

Full log


View this message in rfc822 format

From: Po Lu <luangruo <at> yahoo.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: philipk <at> posteo.net, michael_heerdegen <at> web.de, mail <at> daniel-mendler.de, Gregory Heytings <gregory <at> heytings.org>, monnier <at> iro.umontreal.ca, 62009 <at> debbugs.gnu.org
Subject: bug#62009: 29.0.60; Emacs crashes on setf symbol-name
Date: Sat, 11 Mar 2023 15:07:05 +0800
Eli Zaretskii <eliz <at> gnu.org> writes:

>> Date: Fri, 10 Mar 2023 09:40:31 +0000
>> From: Gregory Heytings <gregory <at> heytings.org>
>> cc: Philip Kaludercic <philipk <at> posteo.net>, michael_heerdegen <at> web.de, 
>>     mail <at> daniel-mendler.de, monnier <at> iro.umontreal.ca, 62009 <at> debbugs.gnu.org
>> 
>> 
>> Instead of raising a signal, I suggest:
>> 
>> diff --git a/src/data.c b/src/data.c
>> index 0f1d881e00b..76867d6787e 100644
>> --- a/src/data.c
>> +++ b/src/data.c
>> @@ -780,7 +780,7 @@ DEFUN ("symbol-name", Fsymbol_name, Ssymbol_name, 1, 
>> 1, 0,
>> 
>>     CHECK_SYMBOL (symbol);
>>     name = SYMBOL_NAME (symbol);
>> -  return name;
>> +  return build_string (SSDATA (name));
>>   }
>> 
>>   DEFUN ("bare-symbol", Fbare_symbol, Sbare_symbol, 1, 1, 0,
>
> No, we will NOT increase GC pressure in Emacs just because someone
> could do a silly and nonsensical thing.  No way.

Can't we make puresize.h check (in addition to whether or not the string
is in pure space) whether or not the string lies in read-only segments
of the executable?

Or maybe put all of string data of DEFSYM'd symbols in pure space, since
Faset already checks that the string is not in pure space.




This bug report was last modified 2 years and 88 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.