[OpenWrt-Devel,v2,09/10] json_script: fix eval_string().
diff mbox

Message ID 1415800763-14311-10-git-send-email-yszhou4tech@gmail.com
State Accepted
Headers show

Commit Message

Yousong Zhou Nov. 12, 2014, 1:59 p.m. UTC
- Fix handling of "%%".
 - Fix length requirement when calling blobmsg_realloc_string_buffer().

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
---
 json_script.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Patch
diff mbox

diff --git a/json_script.c b/json_script.c
index 0d51f79..9805b04 100644
--- a/json_script.c
+++ b/json_script.c
@@ -416,7 +416,7 @@  static int eval_string(struct json_call *call, struct blob_buf *buf, const char
 		}
 
 		if (cur_var) {
-			if (next > str) {
+			if (end > str) {
 				cur = msg_find_var(call, str);
 				if (!cur)
 					continue;
@@ -434,7 +434,7 @@  static int eval_string(struct json_call *call, struct blob_buf *buf, const char
 			cur_len = end - str;
 		}
 
-		dest = blobmsg_realloc_string_buffer(buf, cur_len + 1);
+		dest = blobmsg_realloc_string_buffer(buf, len + cur_len + 1);
 		memcpy(dest + len, cur, cur_len);
 		len += cur_len;
 	}