#133 Crash on summarizing multiple DKIM signatures

open
nobody
5
2009-12-18
2009-12-18
No

When an incoming mail is processed containing multiple signatures and at least one signature contains a blank "d=" tag the following assertion fails.
dkim-filter: util.c:1198: dkimf_dstring_cat: Assertion `str != ((void *)0)' failed.

This is caused by approximately line 7338 in dkim-filter.c which builds a list of domains that provide signatures for this message. When the signature for the blank d= tag is reached we have a null string.

Backtrace (missing debug information but I already isolated the error) follows...

#0 0x00483402 in __kernel_vsyscall ()
#1 0x00cf3040 in raise () from /lib/i686/nosegneg/libc.so.6
#2 0x00cf4a21 in abort () from /lib/i686/nosegneg/libc.so.6
#3 0x00cec40b in __assert_fail () from /lib/i686/nosegneg/libc.so.6
#4 0x0805aa83 in dkimf_dstring_cat ()
#5 0x08054f76 in mlfi_eom ()
#6 0x0805f557 in st_bodyend ()
#7 0x0805f96a in mi_engine ()
#8 0x0805cdda in mi_handle_session ()
#9 0x0805b61d in mi_thread_handle_wrapper ()
#10 0x005e45e2 in start_thread () from /lib/i686/nosegneg/libpthread.so.0
#11 0x00d9dd7e in clone () from /lib/i686/nosegneg/libc.so.6

Discussion