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
parent
9e7462ac
Please register or sign in to comment