diff options
-rw-r--r-- | modules/generators/mod_cgid.c | 4 |
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) { |