On Mon, 9 Apr 2001, Oliver Cook wrote:
> While playing with ignore_target_hosts I managed
> to get Exim 3.22 to seg fault. Having recompiled
> with debugging symbols I ran it through gdb and
> got the following output. There was no core dumped.
Please try the patch below.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
*** exim-3.22/src/host.c Fri Jan 19 09:32:08 2001
--- host.c Tue Mar 13 12:48:58 2001
***************
*** 1660,1666 ****
verify_check_this_host(&ignore_target_hosts, FALSE, h->name,
CS da->address, NULL))
{
! DEBUG(8) debug_printf("ignored host %s [%s]\n", host->name, da->address);
status = hstatus_unusable;
why = hwhy_ignored;
}
--- 1660,1666 ----
verify_check_this_host(&ignore_target_hosts, FALSE, h->name,
CS da->address, NULL))
{
! DEBUG(8) debug_printf("ignored host %s [%s]\n", h->name, da->address);
status = hstatus_unusable;
why = hwhy_ignored;
}
***************
*** 1794,1799 ****
--- 1794,1800 ----
{
if (h != last) /* First is not last, overwrite it */
{
+ if (h->next == last) last = h;
*h = *(h->next); /* and reprocess it. */
goto REDO; /* C should have redo, like Perl */
}