chiark / gitweb /
sd-dhcp-lease/sd-network: modernization and fix leak
authorTom Gundersen <teg@jklm.no>
Mon, 19 May 2014 15:44:38 +0000 (17:44 +0200)
committerTom Gundersen <teg@jklm.no>
Mon, 19 May 2014 16:14:56 +0000 (18:14 +0200)
src/libsystemd-network/sd-dhcp-lease.c
src/network/sd-network.c

index 4993fe3641f651cffd888283a0f7195c36ab9b46..cf71f116d14407e6886f554ac717176264b6adf9 100644 (file)
@@ -174,6 +174,7 @@ sd_dhcp_lease *sd_dhcp_lease_unref(sd_dhcp_lease *lease) {
                 free(lease->hostname);
                 free(lease->domainname);
                 free(lease->dns);
                 free(lease->hostname);
                 free(lease->domainname);
                 free(lease->dns);
+                free(lease->ntp);
                 free(lease);
         }
 
                 free(lease);
         }
 
index 64e3aaae484b8648e6f071f2407d76f8fee7ddd9..7ae15ed6ae130413475aadb548092f102a02313c 100644 (file)
@@ -142,8 +142,8 @@ _public_ int sd_network_get_link_operational_state(unsigned index, char **state)
 }
 
 _public_ int sd_network_get_dhcp_lease(unsigned index, sd_dhcp_lease **ret) {
 }
 
 _public_ int sd_network_get_dhcp_lease(unsigned index, sd_dhcp_lease **ret) {
+        _cleanup_free_ char *p = NULL, *s = NULL;
         sd_dhcp_lease *lease;
         sd_dhcp_lease *lease;
-        char *p, *s = NULL;
         int r;
 
         assert_return(index, -EINVAL);
         int r;
 
         assert_return(index, -EINVAL);
@@ -153,12 +153,10 @@ _public_ int sd_network_get_dhcp_lease(unsigned index, sd_dhcp_lease **ret) {
                 return -ENOMEM;
 
         r = parse_env_file(p, NEWLINE, "DHCP_LEASE", &s, NULL);
                 return -ENOMEM;
 
         r = parse_env_file(p, NEWLINE, "DHCP_LEASE", &s, NULL);
-        free(p);
 
 
-        if (r < 0) {
-                free(s);
+        if (r < 0)
                 return r;
                 return r;
-        else if (!s)
+        else if (!s)
                 return -EIO;
 
         r = dhcp_lease_load(s, &lease);
                 return -EIO;
 
         r = dhcp_lease_load(s, &lease);