On Thu, 18 Jul 2002, Matthew Byng-Maddick wrote:
> On Wed, Jul 17, 2002 at 10:31:43PM -0700, Jim Pazarena wrote:
> > I just started using 'mutt' a couple of days ago, and find that I get
> > an exim 4.05 panic when I send an email with "BCC:".
> > a panic message was:
> > 2002-07-17 21:15:52 17V28L-000H2T-00 internal error: store_reset (135118849)
> > failed: pool=0 expand.c 3047
>
> This looks remarkably like what happens when you have an empty To: header
> and the patch that Philip Hazel posted to the list a few days back. I'd
> find it for you, but I haven't yet woken up and had coffee...
Yes, that certainly looks like that bug. Not only an empty To: but any
empty address header that gets referred to in an expansion. This is
fixed in 4.10 (out next week), but here again is the patch for 4.05.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
*** exim-4.05/src/expand.c Thu Jun 13 10:32:04 2002
--- expand.c Mon Jul 1 10:09:01 2002
***************
*** 640,646 ****
}
Ustrncpy(ptr, t, ilen);
ptr += ilen;
! if (comma != 0)
{
ptr[-1] = ',';
*ptr++ = '\n';
--- 640,646 ----
}
Ustrncpy(ptr, t, ilen);
ptr += ilen;
! if (comma != 0 && ilen > 0)
{
ptr[-1] = ',';
*ptr++ = '\n';
***************
*** 665,671 ****
/* Remove trailing white space (includes newlines) and a redundant added comma
if present. */
! if (comma != 0) ptr -= 2;
while (ptr > yield && isspace(ptr[-1])) ptr--;
*ptr = 0;
return yield;
--- 665,671 ----
/* Remove trailing white space (includes newlines) and a redundant added comma
if present. */
! if (comma != 0 && ptr > yield) ptr -= 2;
while (ptr > yield && isspace(ptr[-1])) ptr--;
*ptr = 0;
return yield;