correct mask recalculation when reducing its length

This commit is contained in:
Pavel Patsey
2025-01-22 23:27:47 +03:00
parent 725b80544a
commit 5a8f98041f
+1 -1
View File
@@ -32,7 +32,7 @@ def find_parent(a: Node, b: Node) -> Node:
mask = ((1 << mask_len) - 1) << (32 - mask_len)
while ip_a & mask != ip_b & mask:
mask_len -= 1
mask = ((1 << mask_len) - 1) << (32 - mask_len)
mask = (mask << 1) & ((1 << 32) - 1)
ip = ip_a & mask
parent_node = ip, mask_len
if parent_node == a or parent_node == b: