aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@nginx.com>2012-12-06 21:22:58 +0000
committerRuslan Ermilov <ru@nginx.com>2012-12-06 21:22:58 +0000
commit8e8201486cb52e929feb16446406253dfbe33e99 (patch)
treeffb92b38ad27881cb79ff184939c47df5adcc89e /src
parent760c55a702886826813010a2f0b662b87c2fbee0 (diff)
downloadnginx-8e8201486cb52e929feb16446406253dfbe33e99.tar.gz
nginx-8e8201486cb52e929feb16446406253dfbe33e99.zip
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.
Diffstat (limited to 'src')
-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 94d1c86cc..a6ae1ce02 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);
}