diff --git a/CHANGES b/CHANGES index 430d5206ae..5aacf1133c 100644 --- a/CHANGES +++ b/CHANGES @@ -1,9 +1,15 @@ -Changes with Apache 2.0.12-dev +Changes with Apache 2.0.13-dev + + *) Don't assume that there will always be multiple calls to the byterange + filter. It is possible that we will need to do byteranges with only + one call to the filter. [Ryan Morgan ] *) Move the error_bucket definition from the http module to the core server. Every protocol will need this ability, not just HTTP. [Ryan Bloom] +Changes with Apache 2.0.12 + *) Modify mod_file_cache to save pre-formatted strings for content-length and last-modified headers for performance. [Mike Abbot ] diff --git a/modules/http/http_protocol.c b/modules/http/http_protocol.c index 69834ac818..cb0290f007 100644 --- a/modules/http/http_protocol.c +++ b/modules/http/http_protocol.c @@ -280,10 +280,14 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_byterange_filter( NULL); ap_xlate_proto_to_ascii(bound_head, strlen(bound_head)); - /* concat the passed brigade with our saved brigade */ - APR_BRIGADE_CONCAT(ctx->bb, bb); - bb = ctx->bb; - ctx->bb = NULL; /* ### strictly necessary? call brigade_destroy? */ + /* If we have a saved brigade from a previous run, concat the passed + * brigade with our saved brigade. Otherwise just continue. + */ + if (ctx->bb) { + APR_BRIGADE_CONCAT(ctx->bb, bb); + bb = ctx->bb; + ctx->bb = NULL; /* ### strictly necessary? call brigade_destroy? */ + } /* It is possible that we won't have a content length yet, so we have to * compute the length before we can actually do the byterange work.