* eval.c (Fbacktrace): Don't assume nargs fits in int.

This commit is contained in:
Paul Eggert 2011-03-27 01:29:39 -07:00
parent eb4d412de8
commit a3eed4788d
2 changed files with 5 additions and 2 deletions

View file

@ -1,5 +1,7 @@
2011-03-27 Paul Eggert <eggert@cs.ucla.edu>
* eval.c (Fbacktrace): Don't assume nargs fits in int.
* syntax.c (scan_sexps_forward): Avoid pointer wraparound.
* xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow

View file

@ -3298,7 +3298,6 @@ Output stream used is value of `standard-output'. */)
(void)
{
register struct backtrace *backlist = backtrace_list;
register int i;
Lisp_Object tail;
Lisp_Object tem;
struct gcpro gcpro1;
@ -3325,9 +3324,10 @@ Output stream used is value of `standard-output'. */)
write_string ("(", -1);
if (backlist->nargs == (size_t) MANY)
{
int i;
for (tail = *backlist->args, i = 0;
!NILP (tail);
tail = Fcdr (tail), i++)
tail = Fcdr (tail), i = 1)
{
if (i) write_string (" ", -1);
Fprin1 (Fcar (tail), Qnil);
@ -3335,6 +3335,7 @@ Output stream used is value of `standard-output'. */)
}
else
{
size_t i;
for (i = 0; i < backlist->nargs; i++)
{
if (i) write_string (" ", -1);