Commit a9b373a4 authored by Ryan Bloom's avatar Ryan Bloom
Browse files

Don't assume that the byterange filter will always be called more than

once.  It is perfectly legal to call the byterange filter one time,
with all the data.  Without this patch, that case will seg fault.
Submitted by:	Ryan Morgan <rmogran@covalent.net>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88320 13f79535-47bb-0310-9956-ffa450edef68
parent f9c91e51
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
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 <rmorgan@covalent.net>]

  *) 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 <mja@trudge.engr.sgi.com>]
+8 −4
Original line number Diff line number Diff line
@@ -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 */
    /* 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.