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