[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <99cd027a-19a8-4370-b826-acdb71396c5a@kernel.org>
Date: Wed, 19 Feb 2025 08:54:02 -0700
From: David Ahern <dsahern@...nel.org>
To: Anton Moryakov <ant.v.moryakov@...il.com>, netdev@...r.kernel.org
Subject: Re: [PATCH iproute2-next] ip: check return value of
iproute_flush_cache() in irpoute.c
On 2/17/25 9:21 AM, Anton Moryakov wrote:
> Static analyzer reported:
> Return value of function 'iproute_flush_cache', called at iproute.c:1732,
> is not checked. The return value is obtained from function 'open64' and possibly contains an error code.
>
> Corrections explained:
> The function iproute_flush_cache() may return an error code, which was
> previously ignored. This could lead to unexpected behavior if the cache
> flush fails. Added error handling to ensure the function fails gracefully
> when iproute_flush_cache() returns an error.
>
> Triggers found by static analyzer Svace.
>
> Signed-off-by: Anton Moryakov <ant.v.moryakov@...il.com>
> ---
> ip/iproute.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/ip/iproute.c b/ip/iproute.c
> index e1fe26ce..64e7d77e 100644
> --- a/ip/iproute.c
> +++ b/ip/iproute.c
> @@ -1729,7 +1729,10 @@ static int iproute_flush(int family, rtnl_filter_t filter_fn)
>
> if (filter.cloned) {
> if (family != AF_INET6) {
> - iproute_flush_cache();
> + ret = iproute_flush_cache();
> + if(ret < 0)
> + return ret;
> +
> if (show_stats)
> printf("*** IPv4 routing cache is flushed.\n");
> }
applied all 4 after fixups on the first 2. This patch has style errors
(extra tabs on the newline, space between `if(`.
patch 2 did not need brackets and the comment was not useful information.
Powered by blists - more mailing lists