Re: [OpenWrt-Devel] [PATCH v2 08/10] json_script: fix logic invert of handle_expr_not().
On 12 December 2014 at 00:52, Felix Fietkau wrote: > On 2014-11-12 14:59, Yousong Zhou wrote: >> Signed-off-by: Yousong Zhou >> --- >> 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
Re: [OpenWrt-Devel] [PATCH v2 08/10] json_script: fix logic invert of handle_expr_not().
On 2014-11-12 14:59, Yousong Zhou wrote: > Signed-off-by: Yousong Zhou > --- > 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. - Felix ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
[OpenWrt-Devel] [PATCH v2 08/10] json_script: fix logic invert of handle_expr_not().
Signed-off-by: Yousong Zhou --- 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]); } static const struct json_handler expr[] = { -- 1.7.10.4 ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel