GNU bug report logs -
#26961
26.0.50; Possible timming issue in regex-tests.el
Previous Next
Reported by: Tino Calancha <tino.calancha <at> gmail.com>
Date: Wed, 17 May 2017 10:21:02 UTC
Severity: normal
Found in version 26.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> From: Tino Calancha <tino.calancha <at> gmail.com>
> Cc: Andreas Schwab <schwab <at> suse.de>, Eli Zaretskii <eliz <at> gnu.org>
> Date: Fri, 19 May 2017 12:31:10 +0900
>
> Following diff hunk from commit
> 'Improve unescaped character literal warnings'
> (16004397f4)
> seems the origin of the problem: those lists with
> defsym's in their heads.
>
> diff --git a/src/lread.c b/src/lread.c
> --- a/src/lread.c
> +++ b/src/lread.c
> @@ -963,9 +963,11 @@ load_warn_unescaped_character_literals (Lisp_Object file)
> AUTO_STRING (format,
> "Loading `%s': unescaped character literals %s detected!");
> AUTO_STRING (separator, ", ");
> + AUTO_STRING (inner_format, "`?%c'");
> CALLN (Fmessage,
> format, file,
> - Fmapconcat (Qstring,
> + Fmapconcat (list3 (Qlambda, list1 (Qchar),
> + list3 (Qformat, inner_format, Qchar)),
> Fsort (Vlread_unescaped_character_literals, Qlss),
> separator));
> }
>
> Do you think this code is wrong?
This does indeed look dangerous: we are in effect consing Lisp data
structures from stack-based Lisp objects, and then process them in a
way that could leave some of them lying around when this function
returns, and its stack becomes invalid.
Can you present the evidence that caused you to suspect this
particular change? Were the "unescaped character literals" warning
displayed during the session which crashed?
This bug report was last modified 8 years and 2 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.