diff options
author | Steven Barth <steven@midlink.org> | 2015-09-07 11:21:58 +0200 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2015-09-07 11:21:58 +0200 |
commit | 8458abaddf4b231df4e8f8aafdb0c38ae125da95 (patch) | |
tree | 50e008070e04049e60fb3c5c28101384a266f827 /src/dhcpv6-ia.c | |
parent | b8f53276092dc48409006fec3c1e90383820cbc5 (diff) |
dhcpv6: fix mac-handling
Diffstat (limited to 'src/dhcpv6-ia.c')
-rw-r--r-- | src/dhcpv6-ia.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/dhcpv6-ia.c b/src/dhcpv6-ia.c index d301b4f..30bffbc 100644 --- a/src/dhcpv6-ia.c +++ b/src/dhcpv6-ia.c @@ -92,14 +92,15 @@ int setup_dhcpv6_ia_interface(struct interface *iface, bool enable) struct lease *lease; list_for_each_entry(lease, &leases, head) { // Construct entry - struct dhcpv6_assignment *a = calloc(1, sizeof(*a) + lease->duid_len); + size_t duid_len = lease->duid_len ? lease->duid_len : 14; + struct dhcpv6_assignment *a = calloc(1, sizeof(*a) + duid_len); if (!a) { syslog(LOG_ERR, "Calloc failed for static lease assignment on interface %s", iface->ifname); return -1; } - a->clid_len = lease->duid_len; + a->clid_len = duid_len; a->length = 128; if (lease->hostid) { a->assigned = lease->hostid; |