]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network/address: drop duplicated address earlier
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 17 May 2026 23:40:44 +0000 (08:40 +0900)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 18 May 2026 04:40:29 +0000 (06:40 +0200)
network_adjust_dhcp_server() searches network->addresses_by_section,
hence without this change, an address entry picked by
network_adjust_dhcp_server() may be detached and freed by the cleanup
function.

src/network/networkd-address.c

index 01eef634f433b5a756ad6a200e043f6e9b733ed9..193c4a04b5f4456a1cad354fcb7edf9f2204dfcb 100644 (file)
@@ -2478,6 +2478,9 @@ int network_drop_invalid_addresses(Network *network) {
                 assert(r > 0);
         }
 
+        /* Detach duplicated entries now. */
+        duplicated_addresses = set_free(duplicated_addresses);
+
         r = network_adjust_dhcp_server(network, &addresses);
         if (r < 0)
                 return r;