if ((c = tb[IFACE_ATTR_DHCPV6_PD_MIN_LEN])) {
uint32_t pd_min_len = blobmsg_get_u32(c);
- if (pd_min_len != 0 && pd_min_len <= PD_MIN_LEN_MAX)
- iface->dhcpv6_pd_min_len = pd_min_len;
- else
- syslog(LOG_ERR, "Invalid %s value configured for interface '%s'",
- iface_attrs[IFACE_ATTR_DHCPV6_PD_MIN_LEN].name, iface->name);
+ if (pd_min_len > PD_MIN_LEN_MAX)
+ iface->dhcpv6_pd_min_len = PD_MIN_LEN_MAX;
+ iface->dhcpv6_pd_min_len = pd_min_len;
+ if (pd_min_len >= PD_MIN_LEN_MAX)
+ syslog(LOG_WARNING, "Clamped invalid %s value configured for interface '%s' to %d",
+ iface_attrs[IFACE_ATTR_DHCPV6_PD_MIN_LEN].name, iface->name, iface->dhcpv6_pd_min_len);
}
if ((c = tb[IFACE_ATTR_DHCPV6_NA]))