diff options
| author | Ruben Herold <ruben@puettmann.net> | 2026-08-07 22:56:21 +0200 |
|---|---|---|
| committer | Ruben Herold <ruben@puettmann.net> | 2026-08-07 22:56:21 +0200 |
| commit | f968d22867beb2ea44a6e6716e2fb40e73a68b39 (patch) | |
| tree | 3ad618b1a3b98ca09c6213a1650c3eda13208b62 /python | |
| parent | 278fba204200f02bb461f786f889b40dc38a26f6 (diff) | |
| download | vyos-1x-f968d22867beb2ea44a6e6716e2fb40e73a68b39.tar.gz vyos-1x-f968d22867beb2ea44a6e6716e2fb40e73a68b39.zip | |
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.
Diffstat (limited to 'python')
| -rw-r--r-- | python/vyos/utils/network.py | 6 |
1 files changed, 4 insertions, 2 deletions
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 |
