bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#26961: 26.0.50; Possible timming issue in regex-tests.el


From: Eli Zaretskii
Subject: bug#26961: 26.0.50; Possible timming issue in regex-tests.el
Date: Sat, 20 May 2017 13:04:38 +0300

> From: Tino Calancha <tino.calancha@gmail.com>
> Cc: 26961@debbugs.gnu.org,  schwab@suse.de, tino.calancha@gmail.com
> Date: Fri, 19 May 2017 20:38:40 +0900
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> +  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?
> Yes, such warning always appear in the crash session.

Does the problem go away if you replace each AUTO_STRING in
load_warn_unescaped_character_literals with build_string?  IOW,
instead of this:

  AUTO_STRING (separator, ", ");

use this:

  Lisp_Object separator = build_string (", ");

and similarly for all the other strings used in the CALLN call in
load_warn_unescaped_character_literals.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]