summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2013-02-10 03:00:55 +0000
committerMaxim Dounin <mdounin@mdounin.ru>2013-02-10 03:00:55 +0000
commit374b73c43c9b78d523f048be0a72fc7d4538813f (patch)
tree4177c549c12b41522a320ca42530b1ca3c1b4b6f
parentdeee4cafa0274780ed03eb74e240a9157909769a (diff)
downloadnginx-374b73c43c9b78d523f048be0a72fc7d4538813f.tar.gz
Merge of r4947: xslt: prevented infinite loop.
If XSLT transformation failed and error 500 was handled in the same location, an infinite loop occured that exhausted the stack.
-rw-r--r--src/http/modules/ngx_http_xslt_filter_module.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/http/modules/ngx_http_xslt_filter_module.c b/src/http/modules/ngx_http_xslt_filter_module.c
index 9b0354b2e..ddcee6312 100644
--- a/src/http/modules/ngx_http_xslt_filter_module.c
+++ b/src/http/modules/ngx_http_xslt_filter_module.c
@@ -307,7 +307,7 @@ ngx_http_xslt_send(ngx_http_request_t *r, ngx_http_xslt_filter_ctx_t *ctx,
ctx->done = 1;
if (b == NULL) {
- return ngx_http_filter_finalize_request(r, NULL,
+ return ngx_http_filter_finalize_request(r, &ngx_http_xslt_filter_module,
NGX_HTTP_INTERNAL_SERVER_ERROR);
}
@@ -315,7 +315,7 @@ ngx_http_xslt_send(ngx_http_request_t *r, ngx_http_xslt_filter_ctx_t *ctx,
if (cln == NULL) {
ngx_free(b->pos);
- return ngx_http_filter_finalize_request(r, NULL,
+ return ngx_http_filter_finalize_request(r, &ngx_http_xslt_filter_module,
NGX_HTTP_INTERNAL_SERVER_ERROR);
}