Dmitry Volyntsev
March 20, 2019 09:00AM
details: https://hg.nginx.org/njs/rev/64dc0795c2f0
branches:
changeset: 836:64dc0795c2f0
user: Dmitry Volyntsev <xeioex@nginx.com>
date: Wed Mar 20 15:56:22 2019 +0300
description:
HTTP: handling absence of value while iterating over r.args.

diffstat:

nginx/ngx_http_js_module.c | 20 +++++++++++---------
1 files changed, 11 insertions(+), 9 deletions(-)

diffs (40 lines):

diff -r 04032d0970b4 -r 64dc0795c2f0 nginx/ngx_http_js_module.c
--- a/nginx/ngx_http_js_module.c Tue Mar 19 18:26:44 2019 +0300
+++ b/nginx/ngx_http_js_module.c Wed Mar 20 15:56:22 2019 +0300
@@ -1564,7 +1564,7 @@ ngx_http_js_ext_next_arg(njs_vm_t *vm, n
ngx_str_t **e = next;

size_t len;
- u_char *p, *start, *end;
+ u_char *v, *p, *start, *end;
ngx_str_t *entry;

entry = *e;
@@ -1576,17 +1576,19 @@ ngx_http_js_ext_next_arg(njs_vm_t *vm, n
start = entry->data;
end = start + entry->len;

- p = ngx_strlchr(start, end, '=');
+ p = ngx_strlchr(start, end, '&');
if (p == NULL) {
- return NJS_ERROR;
+ p = end;
}

- len = p - start;
- p++;
-
- p = ngx_strlchr(p, end, '&');
-
- if (p) {
+ v = ngx_strlchr(start, p, '=');
+ if (v == NULL) {
+ v = p;
+ }
+
+ len = v - start;
+
+ if (p != end) {
entry->data = &p[1];
entry->len = end - entry->data;

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[njs] HTTP: handling absence of value while iterating over r.args.

Dmitry Volyntsev 260 March 20, 2019 09:00AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 197
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready