dhcpv6: don't initialize IA-handing when turning down interface
[project/odhcpd.git] / src / dhcpv6-ia.c
index 7e8e535..69fda07 100644 (file)
@@ -60,7 +60,6 @@ void free_dhcpv6_assignment(struct dhcpv6_assignment *c)
 
        free(c->managed);
        free(c->hostname);
-       free(c->classes);
        free(c);
 }
 
@@ -75,7 +74,7 @@ int setup_dhcpv6_ia_interface(struct interface *iface, bool enable)
                }
        }
 
-       if (iface->dhcpv6 == RELAYD_SERVER) {
+       if (enable && iface->dhcpv6 == RELAYD_SERVER) {
                if (!iface->ia_assignments.next)
                        INIT_LIST_HEAD(&iface->ia_assignments);
 
@@ -133,7 +132,6 @@ int setup_dhcpv6_ia_interface(struct interface *iface, bool enable)
                                        a->hostname = strdup(lease->hostname);
                                }
                        } else {
-                               free(a->classes);
                                free(a->hostname);
                                free(a);
                        }