Hi,

On Tue, 2013-12-10 at 17:09 +0800, Guoqiang Liu wrote:
> From: Jaehyun Kim <[email protected]>
> 
> Invalid buffer details while parsing DNS rsp data
> 
> Change-Id: I17b3ccf29eef01bde36ea4b852d14897014d8155
> Signed-off-by: Zhang zhengguang <[email protected]>
> ---
>  gweb/gresolv.c |    6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/gweb/gresolv.c b/gweb/gresolv.c
> index 5230bca..b8135ad 100644
> --- a/gweb/gresolv.c
> +++ b/gweb/gresolv.c
> @@ -665,7 +665,8 @@ static void parse_response(struct resolv_nameserver 
> *nameserver,
>  
>       debug(resolv, "response from %s", nameserver->address);
>  
> -     ns_initparse(buf, len, &msg);
> +     if (ns_initparse(buf, len, &msg) == -1)

Pleas check with < 0 here.

> +             return;
>  
>       list = g_queue_find_custom(resolv->query_queue,
>                       GUINT_TO_POINTER(ns_msg_id(msg)), compare_query_msgid);
> @@ -713,7 +714,8 @@ static void parse_response(struct resolv_nameserver 
> *nameserver,
>               lookup->ipv4_status = status;
>  
>       for (i = 0; i < count; i++) {
> -             ns_parserr(&msg, ns_s_an, i, &rr);
> +             if (ns_parserr(&msg, ns_s_an, i, &rr) == -1)

Same here.

> +                     continue;
>  
>               if (ns_rr_class(rr) != ns_c_in)
>                       continue;


Cheers,

        Patrik


_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to