summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/generators/mod_cgid.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/modules/generators/mod_cgid.c b/modules/generators/mod_cgid.c
index 6d6a8646f7..8093a1f4f5 100644
--- a/modules/generators/mod_cgid.c
+++ b/modules/generators/mod_cgid.c
@@ -1052,15 +1052,18 @@ static int include_cgi(char *s, request_rec *r, ap_filter_t *next,
apr_bucket *tmp_buck, *tmp2_buck;
if (rr->status != HTTP_OK) {
+ ap_destroy_sub_req(rr);
return -1;
}
/* No hardwired path info or query allowed */
if ((rr->path_info && rr->path_info[0]) || rr->args) {
+ ap_destroy_sub_req(rr);
return -1;
}
if (rr->finfo.filetype != APR_REG) {
+ ap_destroy_sub_req(rr);
return -1;
}
@@ -1124,6 +1127,7 @@ static void add_ssi_vars(request_rec *r, ap_filter_t *next)
apr_table_setn(e, "PATH_TRANSLATED",
apr_pstrcat(r->pool, pa_req->filename, pa_req->path_info, NULL));
}
+ ap_destroy_sub_req(pa_req);
}
if (r->args) {