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.
diff --git a/src/http/modules/ngx_http_xslt_filter_module.c b/src/http/modules/ngx_http_xslt_filter_module.c
index 94d1c86..a6ae1ce 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 @@
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 @@
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);
}