On Thu, Aug 25, 2011 at 5:43 PM, s...@apache.org wrote:
avoid inserting the same bucket into bbout twice, causing an endless loop
--- httpd/httpd/trunk/modules/http/byterange_filter.c (original)
+++ httpd/httpd/trunk/modules/http/byterange_filter.c Thu Aug 25 21:43:32
2011
@@ -195,8 +195,8 @@ static apr_status_t copy_brigade_range(a
return rv;
}
-APR_BRIGADE_INSERT_TAIL(bbout, copy);
if (e == first) {
+APR_BRIGADE_INSERT_TAIL(bbout, copy);
if (off_first != start64) {
rv = apr_bucket_split(copy, (apr_size_t)(start64 -
off_first));
if (rv == APR_ENOTIMPL) {
? Isn't copy going to be a new bucket on each pass of the while() loop?
Suppose we have 3 buckets and need to split buckets #1 and #3 to satisfy the
range. We also need a copy of bucket #2 in the output brigade. I don't see
where it is happening with this patch.
Greg