From: Igor Sysoev Date: Wed, 31 Aug 2016 16:18:47 +0000 (+0300) Subject: A fix in decodeURI() function. X-Git-Tag: 0.1.2~6 X-Git-Url: http://git.kaiwu.me/postgresql/log/contrib/postgres_fdw/static/gitweb.js?a=commitdiff_plain;h=682f902c84c6d523ca47349867b59ff7b6bfa1df;p=njs.git A fix in decodeURI() function. --- diff --git a/njs/njs_string.c b/njs/njs_string.c index 5a0d5504..d47d6b49 100644 --- a/njs/njs_string.c +++ b/njs/njs_string.c @@ -2355,7 +2355,10 @@ njs_string_decode(njs_vm_t *vm, njs_value_t *value, const uint32_t *reserve) byte = *src++; if (byte == '%') { - if (size < 3) { + + size -= 2; + + if (size == 0) { goto uri_error; } @@ -2372,7 +2375,6 @@ njs_string_decode(njs_vm_t *vm, njs_value_t *value, const uint32_t *reserve) byte = (d0 << 4) + d1; if ((reserve[byte >> 5] & ((uint32_t) 1 << (byte & 0x1f))) == 0) { - size -= 2; n += 2; } }