]> git.eshelyaron.com Git - emacs.git/commitdiff
* alloc.c (Fgc_status): Do not access beyond zombies array
authorDmitry Antipov <dmantipov@yandex.ru>
Wed, 12 Oct 2011 06:09:40 +0000 (23:09 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 12 Oct 2011 06:09:40 +0000 (23:09 -0700)
boundary if nzombies > MAX_ZOMBIES.
* alloc.c (dump_zombies): Add missing format specifier.

src/ChangeLog
src/alloc.c

index 8b4f56dd8c2e336dff091f29574486b826a1f7a2..5dc440d04308d3cd3acfb6aa7431ac921e92b284 100644 (file)
@@ -1,3 +1,9 @@
+2011-10-12  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * alloc.c (Fgc_status): Do not access beyond zombies array
+       boundary if nzombies > MAX_ZOMBIES.
+       * alloc.c (dump_zombies): Add missing format specifier.
+
 2011-10-12  Paul Eggert  <eggert@cs.ucla.edu>
 
        * xdisp.c (set_cursor_from_row): Simplify conditionals,
index 09ef4b085dfa2692a792319f8c50a97840fc1244..6e999a0ba6d26792e2d743d2bcab50b76dea2892 100644 (file)
@@ -4071,7 +4071,7 @@ DEFUN ("gc-status", Fgc_status, Sgc_status, 0, 0, "",
 {
   Lisp_Object args[8], zombie_list = Qnil;
   EMACS_INT i;
-  for (i = 0; i < nzombies; i++)
+  for (i = 0; i < min (MAX_ZOMBIES, nzombies); i++)
     zombie_list = Fcons (zombies[i], zombie_list);
   args[0] = build_string ("%d GCs, avg live/zombies = %.2f/%.2f (%f%%), max %d/%d\nzombies: %S");
   args[1] = make_number (ngcs);
@@ -4410,7 +4410,7 @@ dump_zombies (void)
 {
   int i;
 
-  fprintf (stderr, "\nZombies kept alive = %"pI":\n", nzombies);
+  fprintf (stderr, "\nZombies kept alive = %"pI"d:\n", nzombies);
   for (i = 0; i < min (MAX_ZOMBIES, nzombies); ++i)
     {
       fprintf (stderr, "  %d = ", i);