diff --git a/lib/liblwip.a b/lib/liblwip.a index 7cf217b0..ab4f4698 100644 Binary files a/lib/liblwip.a and b/lib/liblwip.a differ diff --git a/third_party/lwip/core/ipv6/mld6.c b/third_party/lwip/core/ipv6/mld6.c index 86f07edc..8c2f4b6a 100644 --- a/third_party/lwip/core/ipv6/mld6.c +++ b/third_party/lwip/core/ipv6/mld6.c @@ -499,7 +499,10 @@ mld6_delayed_report(struct mld_group *group, u16_t maxresp) #ifdef LWIP_RAND /* Randomize maxresp. (if LWIP_RAND is supported) */ - maxresp = (LWIP_RAND() % (maxresp - 1)) + 1; + maxresp = LWIP_RAND() % maxresp; + if (maxresp == 0) { + maxresp = 1; + } #endif /* LWIP_RAND */ /* Apply timer value if no report has been scheduled already. */