changeset 165:584114a51b51

A fix in decodeURI() function.
author Igor Sysoev <igor@sysoev.ru>
date Wed, 31 Aug 2016 19:18:47 +0300
parents 76f16f0ef6c5
children 715b147cbfe0
files njs/njs_string.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/njs/njs_string.c	Wed Aug 31 17:51:54 2016 +0300
+++ b/njs/njs_string.c	Wed Aug 31 19:18:47 2016 +0300
@@ -2355,7 +2355,10 @@
         byte = *src++;
 
         if (byte == '%') {
-            if (size < 3) {
+
+            size -= 2;
+
+            if (size == 0) {
                 goto uri_error;
             }
 
@@ -2372,7 +2375,6 @@
             byte = (d0 << 4) + d1;
 
             if ((reserve[byte >> 5] & ((uint32_t) 1 << (byte & 0x1f))) == 0) {
-                size -= 2;
                 n += 2;
             }
         }