* William Morgan <wmorgan-...@masanjin.net> [Do Mär 03 20:17:36 +0100 2011] > Reformatted excerpts from Gregor Hoffleit's message of 2011-03-03: > > William, I was able to isolate my problem: For me, heliotrope-add hangs > > for messages with more than 32768 content lines. > > Crazy! I will take a look. Thanks for the good debugging.
William, I noticed that heliotrope still has a problem with mails with my mail with more than 32768 lines of content. The source of this problem is in whistlepig's tokenizer. I'm hurt by an overflow in posarray->next and posarray->size, which are defined as uint16_t. I was able to fix my problem by defining these to uint32_t: commit 42dbc087260074513af22078b77e65b91d3318d9 Author: Gregor Hoffleit <gre...@hoffleit.de> Date: Fri Apr 15 12:19:10 2011 +0200 Bugfix: uint16_t is too small for posarray->size and posarray->next Change the type of posarray->size and posarray->next from uint16_t to uint32_t. 16 bits are not enough to hold really large messages. diff --git a/entry.h b/entry.h index 9799e15..56673a0 100644 --- a/entry.h +++ b/entry.h @@ -15,8 +15,8 @@ #include "khash.h" typedef struct posarray { - uint16_t size; - uint16_t next; + uint32_t size; + uint32_t next; pos_t* data; } posarray; Regards, Gregor Hoffleit _______________________________________________ Sup-devel mailing list Sup-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-devel