aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_script.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/http/ngx_http_script.c')
-rw-r--r--src/http/ngx_http_script.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/http/ngx_http_script.c b/src/http/ngx_http_script.c
index 94793d7e7..83c199884 100644
--- a/src/http/ngx_http_script.c
+++ b/src/http/ngx_http_script.c
@@ -501,7 +501,7 @@ ngx_http_script_copy_capture_len_code(ngx_http_script_engine_t *e)
&& (e->request->quoted_uri || e->request->plus_in_uri))
{
return e->captures[code->n + 1] - e->captures[code->n]
- + ngx_escape_uri(NULL,
+ + 2 * ngx_escape_uri(NULL,
&e->line.data[e->captures[code->n]],
e->captures[code->n + 1] - e->captures[code->n],
NGX_ESCAPE_ARGS);
@@ -1016,9 +1016,11 @@ ngx_http_script_complex_value_code(ngx_http_script_engine_t *e)
ngx_memzero(&le, sizeof(ngx_http_script_engine_t));
le.ip = code->lengths->elts;
+ le.line = e->line;
le.request = e->request;
le.captures = e->captures;
le.ncaptures = e->ncaptures;
+ le.quote = e->quote;
for (len = 0; *(uintptr_t *) le.ip; len += lcode(&le)) {
lcode = *(ngx_http_script_len_code_pt *) le.ip;