IMAP v2.4.2 imap process crashes if imapd.conf doesn't define servername or syslog_prefix
Bron Gondwana
brong at fastmail.fm
Wed Oct 27 16:22:10 EDT 2010
On Wed, Oct 27, 2010 at 11:09:29AM -0400, Rosenbaum, Larry M. wrote:
> http://bugzilla.cyrusimap.org/bugzilla3/show_bug.cgi?id=3292
>
> I installed and started Cyrus IMAP v2.4.2 on Solaris 9 Sparc. Every time I
> tried to connect, the connection would fail and the log would show (for
> example) "process 12723 exited, signaled to death by 11". If I added a
> definition for "servername" to the imapd.conf file, it would run OK and I was
> able to connect. The code causing the problem is in the function
> session_new_id() in the file imap/global.c:
>
> base = config_getstring(IMAPOPT_SYSLOG_PREFIX);
> if (!base) base = config_getstring(IMAPOPT_SERVERNAME);
> snprintf(session_id_buf, MAX_SESSIONID_SIZE, "%.128s-%d-%d-%d",
> base, getpid(), session_id_time, session_id_count);
>
>
> servername and syslog_prefix are documented as optional, but if neither one is
> explicitly defined in imapd.conf, then the character pointer "base" is zero,
> which causes a SEGV in snprintf().
Definitely worth filing a bug for this one!
Bron.
More information about the Info-cyrus
mailing list