]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: fix possible memleak caused by multiple setting of Bridge=, Bond= or VRF=
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 1 Nov 2018 18:17:55 +0000 (03:17 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 3 Nov 2018 15:31:46 +0000 (00:31 +0900)
src/network/networkd-network.c

index 8d7795d72c2f19e2cb4f3943bdaf97e2052342d7..1890021f5119ea493071f2151a19b48276672c1d 100644 (file)
@@ -607,14 +607,17 @@ int config_parse_netdev(const char *unit,
 
         switch (kind) {
         case NETDEV_KIND_BRIDGE:
+                network->bridge = netdev_unref(network->bridge);
                 network->bridge = netdev;
 
                 break;
         case NETDEV_KIND_BOND:
+                network->bond = netdev_unref(network->bond);
                 network->bond = netdev;
 
                 break;
         case NETDEV_KIND_VRF:
+                network->vrf = netdev_unref(network->vrf);
                 network->vrf = netdev;
 
                 break;