[PATCH 2/3] virNetSocketCheckProtocols: lookup IPv6 only if suspecting IPv6

John Ferlan jferlan at redhat.com
Fri Jul 17 10:33:46 UTC 2020



On 7/15/20 7:48 AM, Michal Privoznik wrote:
> There is not much sense trying to disprove host is IPv6 capable
> if we know after first round (getifaddrs()) that is is not.
> 
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
>  src/rpc/virnetsocket.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/src/rpc/virnetsocket.c b/src/rpc/virnetsocket.c
> index b6bc3edc3b..b0d63f0f2c 100644
> --- a/src/rpc/virnetsocket.c
> +++ b/src/rpc/virnetsocket.c
> @@ -205,7 +205,8 @@ int virNetSocketCheckProtocols(bool *hasIPv4,
>      freeifaddrs(ifaddr);
>  
>  
> -    if (virNetSocketCheckProtocolByLookup("::1", AF_INET6, hasIPv6) < 0)
> +    if (hasIPv6 &&

For this and the subsequent hasIPv4 patch, Coverity complains that
checking "if (hasIPv6)" is a REVERSE_INULL issue since a few lines above
we have "*hasIPv4 = *hasIPv6 = false;" or individual setting to true.

This then should be "if (!*hasIPv6..." and of course the same for hasIPv4.

/me wonders what kind of slight optimization exists or anyone cares
about in the ifaddr loop once both has* bool ptrs are proven true - it's
not like there's a set to false...

John

> +        virNetSocketCheckProtocolByLookup("::1", AF_INET6, hasIPv6) < 0)
>          return -1;
>  
>      VIR_DEBUG("Protocols: v4 %d v6 %d", *hasIPv4, *hasIPv6);
> 




More information about the libvir-list mailing list