From f968d22867beb2ea44a6e6716e2fb40e73a68b39 Mon Sep 17 00:00:00 2001 From: Ruben Herold Date: Fri, 7 Aug 2026 22:56:21 +0200 Subject: utils: T9177: fix _are_same_ip() using wrong address family _are_same_ip() computed the address family of both arguments but only ever passed the first one's family to inet_pton() for both, via a computed-but-unused "s_two" local. Comparing addresses of different families (e.g. one IPv4, one IPv6) raised instead of returning False. Found via ruff flagging s_two as an unused local; the function currently has no callers. --- python/vyos/utils/network.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'python') diff --git a/python/vyos/utils/network.py b/python/vyos/utils/network.py index 5b75de1cc..ef8205b97 100644 --- a/python/vyos/utils/network.py +++ b/python/vyos/utils/network.py @@ -25,8 +25,10 @@ def _are_same_ip(one, two): from vyos.template import is_ipv4 # compare the binary representation of the IP f_one = AF_INET if is_ipv4(one) else AF_INET6 - s_two = AF_INET if is_ipv4(two) else AF_INET6 - return inet_pton(f_one, one) == inet_pton(f_one, two) + f_two = AF_INET if is_ipv4(two) else AF_INET6 + if f_one != f_two: + return False + return inet_pton(f_one, one) == inet_pton(f_two, two) def get_protocol_by_name(protocol_name): """Get protocol number by protocol name -- cgit v1.2.3