struct dhcp_assignment *border;
if (list_empty(&iface->ia_assignments)) {
- border = calloc(1, sizeof(*border));
+ border = alloc_assignment(0);
if (!border) {
- syslog(LOG_ERR, "Calloc failed for border on %s", iface->name);
+ syslog(LOG_ERR, "Failed to alloc border on %s", iface->name);
return -1;
}
while (!list_empty(&reassign)) {
c = list_first_entry(&reassign, struct dhcp_assignment, head);
- list_del(&c->head);
+ list_del_init(&c->head);
if (!assign_pd(iface, c)) {
c->assigned = 0;
list_add(&c->head, &iface->ia_assignments);
if ((!iface->no_dynamic_dhcp || (l && is_na)) &&
(iface->dhcpv6_pd || iface->dhcpv6_na)) {
/* Create new binding */
- a = calloc(1, sizeof(*a) + clid_len);
+ a = alloc_assignment(clid_len);
if (a) {
a->clid_len = clid_len;