udhcpc6: ignore invalid OPTION_IAADDR
authorDavid Decotigny <ddecotig@gmail.com>
Thu, 24 May 2018 15:30:16 +0000 (08:30 -0700)
committerDenys Vlasenko <vda.linux@googlemail.com>
Thu, 24 May 2018 16:26:01 +0000 (18:26 +0200)
Signed-off-by: David Decotigny <ddecotig@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
networking/udhcp/d6_dhcpc.c

index 9e3ce8b1ce2c14e4f8f841210ce29720694b3955..2ff9c56695ed0a7212ba5595d83556c0beafb9dd 100644 (file)
@@ -287,6 +287,10 @@ static void option_to_env(uint8_t *option, uint8_t *option_end)
  * |                        valid-lifetime                         |
  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  */
+                       /* Make sure payload contains an address */
+                       if (option[3] < 24)
+                               break;
+
                        sprint_nip6(ipv6str, option + 4);
                        *new_env() = xasprintf("ipv6=%s", ipv6str);