Archive of RubyForge sup-devel mailing list
 help / color / mirror / Atom feed
From: Gregor Hoffleit <gregor@hoffleit.de>
To: William Morgan <wmorgan-whistlepig-readme@masanjin.net>
Cc: sup-devel <sup-devel@rubyforge.org>
Subject: Re: [sup-devel] sup-server revisited
Date: Fri, 15 Apr 2011 12:46:40 +0200	[thread overview]
Message-ID: <1302789095-sup-9782@sam.mediasupervision.de> (raw)
In-Reply-To: <1299179837-sup-4675@masanjin.net>

* William Morgan <wmorgan-sup@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 <gregor@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

  reply	other threads:[~2011-04-15 11:01 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-21 21:02 William Morgan
2011-02-22 13:46 ` Mark Alexander
2011-02-22 17:55   ` William Morgan
2011-02-22 18:44     ` Tero Tilus
2011-02-22 19:00       ` William Morgan
2011-02-22 14:09 ` Nicolas Pouillard
2011-02-22 20:17 ` Tero Tilus
2011-02-22 21:29   ` William Morgan
2011-02-23  9:48     ` Nicolas Pouillard
2011-02-23 18:43       ` William Morgan
2011-02-23 18:53         ` Alvaro Herrera
2011-02-23 21:08           ` William Morgan
2011-02-23 21:30             ` Alvaro Herrera
2011-03-03 19:38         ` Sascha Silbe
2011-02-26 19:15 ` Hamish
2011-02-26 22:04   ` William Morgan
2011-02-26 23:15     ` William Morgan
2011-03-01 19:38       ` Hamish
2011-03-02 12:43         ` Gregor Hoffleit
2011-03-02 18:51           ` William Morgan
2011-03-03 17:32             ` Gregor Hoffleit
2011-03-03 19:17               ` William Morgan
2011-04-15 10:46                 ` Gregor Hoffleit [this message]
2011-04-15 17:16                   ` William Morgan
2011-04-15 20:53                     ` Gregor Hoffleit
2011-04-17 16:58                   ` William Morgan
2011-04-17 17:55                     ` William Morgan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1302789095-sup-9782@sam.mediasupervision.de \
    --to=gregor@hoffleit.de \
    --cc=sup-devel@rubyforge.org \
    --cc=wmorgan-whistlepig-readme@masanjin.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox