httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Pane <>
Subject Re: cvs commit: httpd-2.0/server core.c
Date Mon, 26 Nov 2001 15:43:44 GMT
Ryan Bloom wrote:

>On Monday 26 November 2001 12:49 am, wrote:
>>brianp      01/11/26 00:49:29
>>  Modified:    server   core.c
>>  Log:
>>  Another fix for the core_output_filter() code that concatenates
>>  small buckets: It's possible for the temporary brigade to
>>  contain more than one bucket.  If this happens, we need to
>>  recover the buckets after the first from the temporary brigade
>>  before destroying it.
>That shouldn't be possible. The whole point of this loop is that the
>data in the brigade is < the max size of one bucket. If we have created
>two buckets in the temp brigade either our values are off, or there is
>another bug.  Can you post the example that caused this bug? IMHO,
>this is the wrong fix.

You can trigger the bug with an shtml file consisting of alternating
blocks of content and <!--#echo var="foo" --> directives.
The example that I used is attached.

Your description of the point of the loop doesn't match the code.
The temporary brigade is created if we run out of slots in the
iovec while scanning through a brigade.  The size of the data doesn't
actually affect whether the temporary brigade will be created.  (I
think that's a bug, but I'll leave it unchanged for now in case it
works that way on purpose.)


View raw message