]> git.ipfire.org Git - thirdparty/apache/httpd.git/commit
ap_send_error_response: reset r->output filters to the protocol filters.
authorGreg Ames <gregames@apache.org>
Mon, 15 Apr 2002 20:42:45 +0000 (20:42 +0000)
committerGreg Ames <gregames@apache.org>
Mon, 15 Apr 2002 20:42:45 +0000 (20:42 +0000)
commit27ae584197c72e0c8f1130abbf1b1c937734c08f
treef0195ea5576b3465b0c8673bcf831d65eff83df6
parent9e7462ac3397e262eb6dea9988371a032e3e69de
ap_send_error_response: reset r->output filters to the protocol filters.
The equivalent logic was deleted when request filters were renamed to
RESOURCE filters.  This fixes the seg faults that sometimes happen on
daedalus after a bogus 416 HTTP response is generated.

In this case, includes_filter had found an <!--#include virtual > tag, and
sent a brigade representing the data before it down the filter chain.  The
byterange filter generated the bogus 416.  ap_send_error_response essentially
starts over with a new response, but it didn't do anything to clean up the
filter chain.  So the same instance of the includes_filter got driven from the
top with the canned error text and and EOS bucket, which confused the heck
out of it.  It inserted a sentinel from the original brigade into the
error page brigade, causing problems further down the filter chain.

Submitted by: Greg Ames, Jeff Trawick

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94662 13f79535-47bb-0310-9956-ffa450edef68
modules/http/http_protocol.c