aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorDmitry Antipov2011-10-11 23:09:40 -0700
committerPaul Eggert2011-10-11 23:09:40 -0700
commit6e4b3fbe6d9b580ac32f78590eb14aa9dff90b22 (patch)
tree036cde16cef4b11ab3a58f6f35e100d482fb2cda /src/alloc.c
parentb5525cacc35f18d13ee38e437c9bd362e9c06640 (diff)
downloademacs-6e4b3fbe6d9b580ac32f78590eb14aa9dff90b22.tar.gz
emacs-6e4b3fbe6d9b580ac32f78590eb14aa9dff90b22.zip
* alloc.c (Fgc_status): Do not access beyond zombies array
boundary if nzombies > MAX_ZOMBIES. * alloc.c (dump_zombies): Add missing format specifier.
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 09ef4b085df..6e999a0ba6d 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -4071,7 +4071,7 @@ DEFUN ("gc-status", Fgc_status, Sgc_status, 0, 0, "",
4071{ 4071{
4072 Lisp_Object args[8], zombie_list = Qnil; 4072 Lisp_Object args[8], zombie_list = Qnil;
4073 EMACS_INT i; 4073 EMACS_INT i;
4074 for (i = 0; i < nzombies; i++) 4074 for (i = 0; i < min (MAX_ZOMBIES, nzombies); i++)
4075 zombie_list = Fcons (zombies[i], zombie_list); 4075 zombie_list = Fcons (zombies[i], zombie_list);
4076 args[0] = build_string ("%d GCs, avg live/zombies = %.2f/%.2f (%f%%), max %d/%d\nzombies: %S"); 4076 args[0] = build_string ("%d GCs, avg live/zombies = %.2f/%.2f (%f%%), max %d/%d\nzombies: %S");
4077 args[1] = make_number (ngcs); 4077 args[1] = make_number (ngcs);
@@ -4410,7 +4410,7 @@ dump_zombies (void)
4410{ 4410{
4411 int i; 4411 int i;
4412 4412
4413 fprintf (stderr, "\nZombies kept alive = %"pI":\n", nzombies); 4413 fprintf (stderr, "\nZombies kept alive = %"pI"d:\n", nzombies);
4414 for (i = 0; i < min (MAX_ZOMBIES, nzombies); ++i) 4414 for (i = 0; i < min (MAX_ZOMBIES, nzombies); ++i)
4415 { 4415 {
4416 fprintf (stderr, " %d = ", i); 4416 fprintf (stderr, " %d = ", i);