nterface-ip: remove superfluous iface check in interface_ip_set_enabled()
[project/netifd.git] / interface-ip.c
index 6726a69..1e49fe6 100644 (file)
@@ -994,8 +994,10 @@ static void interface_update_prefix_assignments(struct device_prefix *prefix, bo
                        }
 
                        entry = calloc(1, sizeof(*entry));
-                       if (!entry)
+                       if (!entry) {
+                               free(c);
                                continue;
+                       }
 
                        entry->node.key = c;
                        avl_insert(&assign_later, &entry->node);
@@ -1440,7 +1442,7 @@ void interface_ip_set_enabled(struct interface_ip_settings *ip, bool enabled)
                        if (!strcmp(a->name, ip->iface->name))
                                interface_set_prefix_address(a, c, ip->iface, enabled);
 
-       if (ip->iface && ip->iface->policy_rules_set != enabled &&
+       if (ip->iface->policy_rules_set != enabled &&
            ip->iface->l3_dev.dev) {
                set_ip_lo_policy(enabled, true, ip->iface);
                set_ip_lo_policy(enabled, false, ip->iface);