diff --git a/net/icmpv6/icmpv6_input.c b/net/icmpv6/icmpv6_input.c index 28792be0ca1..f7572e8d8a3 100644 --- a/net/icmpv6/icmpv6_input.c +++ b/net/icmpv6/icmpv6_input.c @@ -481,7 +481,8 @@ void icmpv6_input(FAR struct net_driver_s *dev, unsigned int iplen) { FAR struct icmpv6_mtu_s *mtuopt = (FAR struct icmpv6_mtu_s *)opt; - dev->d_pktsize = NTOHS(mtuopt->mtu[1]) + dev->d_llhdrlen; + dev->d_pktsize = MIN(dev->d_pktsize, + NTOHS(mtuopt->mtu[1]) + dev->d_llhdrlen); } break;