Snapshots for CURRENT (buffer_set issue?)

Julien ÉLIE julien at
Tue Aug 21 19:35:23 UTC 2007

*Phew*, I finally managed to hunt the bug in chan.t test.

> I believe this is a deeper issue with buffer_set.
> Shouldn't it check whether it NULL-terminates strings?
> (And perhaps also other buffer_* functions?)

No, buffer_* functions work fine.

The problem here comes from the fact that buffer_append
does not work with In buffers...
Indeed, while thoroughly reviewing step by step what was
going on, I found in innd/chan.c:

CHANreadtext {
    /* FIXME: The In buffer doesn't use the normal meanings of .used and
       .left.  */
    bp = &cp->In;
    bp->left = bp->size - bp->used;

Therefore, buffer_append cannot append '\0' to In buffers so
as to have proper .data to compare.

Julien ÉLIE

« Pharmaca das aegroto, aurum tibi porrigit aeger ;
  tu morbum curas illus, ille tuum. » 

More information about the inn-workers mailing list