From: Hans Dedecker Date: Sun, 18 Jul 2021 16:43:26 +0000 (+0200) Subject: dhcpv6-ia: fix invalid preferred lifetime X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=bc9d317f2921ae6b529f2c9f8de79b75992e206f;p=project%2Fodhcpd.git dhcpv6-ia: fix invalid preferred lifetime Preferred lifetime cannot be greater than the valid lifetime of an IA; fix this by checking if the preferred lifetime does not exceed the valid lifetime of an IA Signed-off-by: Hans Dedecker --- diff --git a/src/dhcpv6-ia.c b/src/dhcpv6-ia.c index 639e368..c378c09 100644 --- a/src/dhcpv6-ia.c +++ b/src/dhcpv6-ia.c @@ -896,6 +896,9 @@ static size_t build_ia(uint8_t *buf, size_t buflen, uint16_t status, if (prefix_valid > leasetime) prefix_valid = leasetime; + if (prefix_pref > prefix_valid) + prefix_pref = prefix_valid; + if (a->flags & OAF_DHCPV6_PD) { struct dhcpv6_ia_prefix o_ia_p = { .type = htons(DHCPV6_OPT_IA_PREFIX),