sd-dhcp6-client: make dhcp6_lease_free() accepts NULL
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 24 Sep 2021 14:45:13 +0000 (23:45 +0900)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 11 Jan 2022 17:17:52 +0000 (18:17 +0100)
(cherry picked from commit 5cf67bb4072f149d0404398bfc359b068312ba28)

src/libsystemd-network/sd-dhcp6-lease.c

index 83789714221630a0aa864ce6f03564bb0893a8a6..4804f0941ad96aabb429bfe99110750b2a6703ca 100644 (file)
@@ -366,20 +366,18 @@ int sd_dhcp6_lease_get_fqdn(sd_dhcp6_lease *lease, const char **fqdn) {
 }
 
 static sd_dhcp6_lease *dhcp6_lease_free(sd_dhcp6_lease *lease) {
-        assert(lease);
+        if (!lease)
+                return NULL;
 
         free(lease->serverid);
         dhcp6_lease_free_ia(&lease->ia);
         dhcp6_lease_free_ia(&lease->pd);
-
         free(lease->dns);
         free(lease->fqdn);
-
-        lease->domains = strv_free(lease->domains);
-
+        strv_free(lease->domains);
         free(lease->ntp);
+        strv_free(lease->ntp_fqdn);
 
-        lease->ntp_fqdn = strv_free(lease->ntp_fqdn);
         return mfree(lease);
 }