Surprisingly, it still (with some corrections) applies
to the new 2.0.16.
This is a forwarded message
From: Pavel Levshin <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
Date: Sunday, May 20, 2001, 9:05:10 PM
Subject: minor correction to deliver.c
===8<==============Original message text===============
Hello cyrus-bugs,
I once wrote you about SIGSEGV, which takes place in deliver, while
trying to execute it with incorrect permissions. Now I think I've
discovered this particular problem in the source.
In deliver.c:
config_init("deliver");
deliver_in = prot_new(0, 0);
deliver_out = prot_new(1, 1);
prot_setflushonread(deliver_in, deliver_out);
prot_settimeout(deliver_in, 300);
So, if config_init failed, it will call fatal(), which makes use of
deliver_out. One of possible solutions is simple: to place
config_init() after deliver_out is initialized.
deliver_in = prot_new(0, 0);
deliver_out = prot_new(1, 1);
prot_setflushonread(deliver_in, deliver_out);
prot_settimeout(deliver_in, 300);
config_init("deliver");
Maybe I've missed something...
WBR, Pavel mailto:[EMAIL PROTECTED] icq:52216261
===8<===========End of original message text===========