[tpop3d-discuss] [PATCH] Corrupted TOP response with PIPELINING and tpop3d 1.5.3
Chris Lightfoot
chris at ex-parrot.com
Wed, 2 Feb 2005 17:23:25 +0000
On Wed, Feb 02, 2005 at 06:21:57PM +0100, Martin Blapp wrote:
>
> Hi,
>
> > > It seems that the buffer routines had serious bugs and where never
> > > tested with big input. If the sendbuf does reach the place of readpos
> > > we overwrite unread unput and fail. The patch expands the buffer if the
> > > write position in the buffer has reached the read position.
>
> Sigh,
>
> There is still a problem somewhere in the code. I'm currently working on
> it.
ok. I don't really understand what your patch is doing --
it's in the wrong function, for a start.
The idea is that you call buffer_expand to ensure that you
have enough contiguous space to write into then you use
buffer_push_bytes to tell it how much you've added.
buffer_push_bytes shouldn't expand the buffer -- that's
buffer_expand's job.
so the bug is presumably in buffer_expand, not
buffer_push_bytes.
--
``I need an immediately distinguishable character...
so I'll use something that no-one will recognise.'' (maths lecture)