On 12 December 2014 at 00:52, Felix Fietkau <n...@openwrt.org> wrote: > On 2014-11-12 14:59, Yousong Zhou wrote: >> Signed-off-by: Yousong Zhou <yszhou4t...@gmail.com> >> --- >> json_script.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/json_script.c b/json_script.c >> index 0ec7b38..0d51f79 100644 >> --- a/json_script.c >> +++ b/json_script.c >> @@ -338,7 +338,7 @@ static int handle_expr_not(struct json_call *call, >> struct blob_attr *expr) >> if (!tb[1]) >> return -1; >> >> - return json_process_expr(call, tb[1]); >> + return !json_process_expr(call, tb[1]); > Simply adding ! is not enough. This needs to check for ret < 0 for > proper error handling.
Yes. I will fix this. BTW, I see that blobmsg_realloc_string_buffer() should return NULL if blob_buf_grow() fails, but I can not decide the proper return value of eval_string() in this case. Currently it's non-zero for non-terminated variable reference. I tend to add various ERR_JSON_SCRIPT_OOM and json_script_err2str() for use with handle_error(), but I am afraid that it may break too much packages yousong _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel