THREAD curiosity

Bron Gondwana brong at fastmail.fm
Wed Oct 8 08:45:42 EDT 2008


On Wed, Oct 08, 2008 at 12:06:02PM +0100, David Carter wrote:
> If I import the attached Unix mailbox (culled from some real messages 
> from an ITEF list) into Cyrus, then the index_thread_compare() call 
> started by:
>
>   . THREAD REFERENCES US-ASCII ALL
>
> segfaults with a NULL pointer deference:
>
>   Program received signal SIGSEGV, Segmentation fault.
>   [Switching to Thread 0xb79916d0 (LWP 30378)]
>   0x0807b0fe in index_thread_compare (t1=0x817ff60, t2=0x817ffc0,
>     call_data=0xbfcc0e28) at index.c:4417
>   4417      md2 = t2->msgdata ? t2->msgdata : t2->child->msgdata;
>
> This is because t2->msgdata and t2->child are both NULL.
>
> I infer that the large DKIM-Signature: header blocks are causing a buffer 
> overrun somewhere although I can't see where right now. This is true of  
> both 2.3.11 (which I am currently running) and a vanilla 2.3.13rc2.

Interesting.  Putting on my "don't let anything derail the release
plans" hat, it's not a regression :)

I don't like things that can segfault Cyrus though... makes me
uncomfortable!  Any chance you can bisect the list until you find
the message which causes the crash?

Bron.


More information about the Cyrus-devel mailing list