Re: [OpenWrt-Devel] [PATCH v2 08/10] json_script: fix logic invert of handle_expr_not().

2014-12-11 Thread Yousong Zhou
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().

2014-12-11 Thread Felix Fietkau
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().

2014-12-10 Thread Yousong Zhou

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