On 12 December 2014 at 00:52, Felix Fietkau <[email protected]> wrote:
> On 2014-11-12 14:59, Yousong Zhou wrote:
>> Signed-off-by: Yousong Zhou <[email protected]>
>> ---
>> 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
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel