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;
}
}