
On 7/17/20 12:33 PM, John Ferlan wrote:
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@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...
D'oh! It should have been: if (*hasIPv6 && ..); because we are interested in the value of boolean, not its address. I'll post a patch shortly. Michal