pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/44275: cyrus-imapd24 unstable on -current
>Number: 44275
>Category: pkg
>Synopsis: cyrus-imapd24 unstable on -current
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Dec 24 09:40:00 +0000 2010
>Originator: Shin'ichiro TAYA
>Release: NetBSD 5.99.41
>Organization:
--
Shin'ichiro TAYA <taya%ba2.so-net.ne.jp@localhost>
>Environment:
System: NetBSD xxx 5.99.41 NetBSD 5.99.41 (GENERIC) #2: Thu Dec 23 12:54:24 JST
2010
taya@xxx:/export/NetBSD/NetBSD-current/OBJ.i386/export/NetBSD/NetBSD-current/src/sys/arch/i386/compile/GENERIC
i386
Architecture: i386
Machine: i386
>Description:
cyrus-imapd24 and related command is unstable on -current and suddenly
quits.
>How-To-Repeat:
most simple way to reproduce is to run /usr/pkg/cyrus/bin/reconstruct.
root@xxx# /usr/pkg/cyrus/bin/reconstruct
user.taya uid 845258 found - adding
Segmentation fault
root@xxx#
>Fix:
Inspite of the size of time_t is 8 bytes, cyrus code assumes it's
4 bytes.
"reconstruct" crushes at following point..
--
mailbox.c:1892
snprintf(buf, 4096, "%u " MODSEQ_FMT " %lu (%u) %lu %s",
record->uid, record->modseq, record->last_updated,
flagcrc,
record->internaldate,
message_guid_encode(&record->guid));
--
record->last_updated & record-internaldate is time_t
but format string is "%lu" thus last string argument is not passed
correctly and snprintf() treats invalid pointer as string and crushes.
There may be more places to fix.
Home |
Main Index |
Thread Index |
Old Index