chiark / gitweb /
networkd: veth - fix memleak
authorTom Gundersen <teg@jklm.no>
Tue, 17 Jun 2014 17:40:12 +0000 (19:40 +0200)
committerTom Gundersen <teg@jklm.no>
Tue, 17 Jun 2014 21:21:31 +0000 (23:21 +0200)
src/libsystemd-network/network-internal.c
src/network/networkd-netdev.c

index e9146d0e54d46b83984d96cb0056569b1075099a..2e9667c167d00849492aeae687d3eb25d72ff210 100644 (file)
@@ -179,7 +179,7 @@ int config_parse_ifname(const char *unit,
                         void *userdata) {
 
         char **s = data;
-        char *n;
+        _cleanup_free_ char *n = NULL;
 
         assert(filename);
         assert(lvalue);
@@ -198,12 +198,11 @@ int config_parse_ifname(const char *unit,
         }
 
         free(*s);
-        if (*n)
+        if (*n) {
                 *s = n;
-        else {
-                free(n);
+                n = NULL;
+        } else
                 *s = NULL;
-        }
 
         return 0;
 }
index 5359eb179bde9a27a7c9df0199f3c3207ea1f2f3..8879e08999c25f09a3ed706e625589e524e825ef 100644 (file)
@@ -94,6 +94,7 @@ static void netdev_free(NetDev *netdev) {
 
         free(netdev->description);
         free(netdev->ifname);
+        free(netdev->ifname_peer);
         free(netdev->mac);
         free(netdev->mac_peer);