Hi!

On Wed, Jun 16, 1999 at 01:17:17PM +0200, Stefan `Sec` Zehl wrote:
> Whopee, just right now mutt core dumped on me while sending a mail.

> (gdb) print i
> $1 = 0
> (gdb) print PidList
> $2 = (int *) 0x0

What was the value of PidListLen?

Hopefully the following patch fixes the problem (removed a race
condition, please try to repeat your conditions ;-) ...


Gero
--- mutt-stable/signal.c        Thu Apr 22 14:54:50 1999
+++ mutt/signal.c       Wed Jun 16 17:29:41 1999
@@ -82,9 +82,9 @@
   if (i >= PidListLen)
   {
     /* quite a few children around... */
-    safe_realloc ((void **) &PidList, (PidListLen += 2) * sizeof (pid_t));
+    safe_realloc ((void **) &PidList, (PidListLen + 2) * sizeof (pid_t));
     PidList[i++] = pid;
-    for (; i < PidListLen; i++)
+    for (; i < (PidListLen += 2); i++)
       PidList[i] = 0;
   }
 }

Reply via email to