summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorBrian Pane <brianp@apache.org>2002-06-20 05:45:21 +0200
committerBrian Pane <brianp@apache.org>2002-06-20 05:45:21 +0200
commit1e62099704bcef8121e569f864f9d7cd69c69592 (patch)
tree192e02f13991523759487d9de830af0ecf848ec6 /modules
parentCleaner handling of unterminated SSI directives (diff)
downloadapache2-1e62099704bcef8121e569f864f9d7cd69c69592.tar.xz
apache2-1e62099704bcef8121e569f864f9d7cd69c69592.zip
Remove the old EOS logic that I neglected to delete on the last commit,
and add a check for ap_pass_brigade() failure git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95818 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules')
-rw-r--r--modules/filters/mod_include.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/modules/filters/mod_include.c b/modules/filters/mod_include.c
index 662c86c1be..4e96695831 100644
--- a/modules/filters/mod_include.c
+++ b/modules/filters/mod_include.c
@@ -3240,6 +3240,10 @@ static apr_status_t send_parsed_content(apr_bucket_brigade **bb,
/* Set aside tag, pass pre-tag... */
tag_and_after = apr_brigade_split(*bb, ctx->head_start_bucket);
rv = ap_pass_brigade(f->next, *bb);
+ if (rv != APR_SUCCESS) {
+ return rv;
+ }
+
/* Set aside the partial tag
* Exception: if there's an EOS at the end of this brigade,
* the tag will never be completed, so send an error and EOS
@@ -3257,27 +3261,12 @@ static apr_status_t send_parsed_content(apr_bucket_brigade **bb,
apr_bucket_destroy(b);
}
CREATE_ERROR_BUCKET(ctx, err_bucket, b, err_bucket);
- ap_pass_brigade(f->next, tag_and_after);
+ rv = ap_pass_brigade(f->next, tag_and_after);
}
else {
ap_save_brigade(f, &ctx->ssi_tag_brigade,
&tag_and_after, r->pool);
}
- if (APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(ctx->ssi_tag_brigade))) {
- apr_bucket *new_eos;
- /* Make sure there's no EOS at the end of the set-aside
- * brigade, because we may later prepend it to some
- * other brigade
- */
- APR_BUCKET_REMOVE(APR_BRIGADE_LAST(ctx->ssi_tag_brigade));
-
- /* And put an EOS on the brigade that we're about to pass
- * to the next filter.
- */
- new_eos = apr_bucket_eos_create((*bb)->bucket_alloc);
- APR_BRIGADE_INSERT_TAIL(*bb, new_eos);
- }
-
if (rv != APR_SUCCESS) {
return rv;
}