]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: add missing else in dhcp_lease_load
authorRonan Pigott <ronan@rjp.ie>
Tue, 29 Oct 2024 03:33:35 +0000 (20:33 -0700)
committerRonan Pigott <ronan@rjp.ie>
Tue, 29 Oct 2024 03:59:17 +0000 (20:59 -0700)
Fixes: 3fd6708cde0f (network: Serialize DNR servers)
src/libsystemd-network/sd-dhcp-lease.c
test/fuzz/fuzz-dhcp-client/dnr_invalid [new file with mode: 0644]

index 1c0cd6829b79427afc10fc623c3b7db0ff1a10de..6b2d8106451da1cbd82a5c143b7d3ceb008d07da 100644 (file)
@@ -1551,7 +1551,8 @@ int dhcp_lease_load(sd_dhcp_lease **ret, const char *lease_file) {
                 r = deserialize_dnr(&lease->dnr, dnr);
                 if (r < 0)
                         log_debug_errno(r, "Failed to deserialize DNR servers %s, ignoring: %m", dnr);
-                lease->n_dnr = r;
+                else
+                        lease->n_dnr = r;
         }
 
         if (ntp) {
diff --git a/test/fuzz/fuzz-dhcp-client/dnr_invalid b/test/fuzz/fuzz-dhcp-client/dnr_invalid
new file mode 100644 (file)
index 0000000..a988fba
Binary files /dev/null and b/test/fuzz/fuzz-dhcp-client/dnr_invalid differ