[nginx] Xslt: fixed parameters parsing (ticket #1416).
Ruslan Ermilov
ru at nginx.com
Thu Nov 16 10:25:08 UTC 2017
details: http://hg.nginx.org/nginx/rev/595a3de03e91
branches:
changeset: 7154:595a3de03e91
user: Ruslan Ermilov <ru at nginx.com>
date: Thu Nov 16 13:20:47 2017 +0300
description:
Xslt: fixed parameters parsing (ticket #1416).
If parameters were specified in xslt_stylesheet without variables,
any request except the first would cause an internal server error.
diffstat:
src/http/modules/ngx_http_xslt_filter_module.c | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diffs (25 lines):
diff -r 32f83fe5747b -r 595a3de03e91 src/http/modules/ngx_http_xslt_filter_module.c
--- a/src/http/modules/ngx_http_xslt_filter_module.c Fri Oct 27 00:30:38 2017 +0800
+++ b/src/http/modules/ngx_http_xslt_filter_module.c Thu Nov 16 13:20:47 2017 +0300
@@ -686,8 +686,19 @@ ngx_http_xslt_params(ngx_http_request_t
* specified in xslt_stylesheet directives
*/
- p = string.data;
- last = string.data + string.len;
+ if (param[i].value.lengths) {
+ p = string.data;
+
+ } else {
+ p = ngx_pnalloc(r->pool, string.len + 1);
+ if (p == NULL) {
+ return NGX_ERROR;
+ }
+
+ ngx_memcpy(p, string.data, string.len + 1);
+ }
+
+ last = p + string.len;
while (p && *p) {
More information about the nginx-devel
mailing list