[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20160614142550.12a8cf76@xeon-e3>
Date: Tue, 14 Jun 2016 14:25:50 -0700
From: Stephen Hemminger <shemming@...cade.com>
To: Beniamino Galvani <bgalvani@...hat.com>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [iproute2 PATCH] utils: fix hex digits parsing in
hexstring_a2n()
On Tue, 14 Jun 2016 20:55:17 +0000
Beniamino Galvani <bgalvani@...hat.com> wrote:
> strtoul() only modifies errno on overflow, so if errno is not zero
> before calling the function its value is preserved and makes the
> function fail for valid inputs; initialize it.
>
> Signed-off-by: Beniamino Galvani <bgalvani@...hat.com>
> ---
> lib/utils.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/lib/utils.c b/lib/utils.c
> index 70e85b7..7dceeb5 100644
> --- a/lib/utils.c
> +++ b/lib/utils.c
> @@ -924,6 +924,7 @@ __u8 *hexstring_a2n(const char *str, __u8 *buf, int blen, unsigned int *len)
>
> strncpy(tmpstr, str, 2);
> tmpstr[2] = '\0';
> + errno = 0;
> tmp = strtoul(tmpstr, &endptr, 16);
> if (errno != 0 || tmp > 0xFF || *endptr != '\0')
> return NULL;
Applied.
The code here is doing things in a manner much harder than necessary...
Powered by blists - more mailing lists