[OpenWrt-Devel] [PATCH v2 08/10] json_script: fix logic invert of handle_expr_not().
Yousong Zhou
yszhou4tech at gmail.com
Thu Dec 11 23:00:07 EST 2014
On 12 December 2014 at 00:52, Felix Fietkau <nbd at openwrt.org> wrote:
> On 2014-11-12 14:59, Yousong Zhou wrote:
>> Signed-off-by: Yousong Zhou <yszhou4tech at 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 at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list