mirror of
https://github.com/nodemcu/nodemcu-firmware.git
synced 2025-01-30 21:12:55 +08:00
Fix IGMP timer (#3476)
LWIP_RAND() return type is int, value returned is sometimes negative. This causes timer to sometimes (often) go outside of max_time, which in turn causes IGMP snoopers or IGMP routers to drop the subscription
This commit is contained in:
parent
77e5359087
commit
f7b48b9214
@ -731,7 +731,7 @@ igmp_start_timer(struct igmp_group *group, u8_t max_time)
|
||||
if(max_time == 1)
|
||||
group->timer = 1;
|
||||
else
|
||||
group->timer = (LWIP_RAND() % (max_time - 1)) + 1;
|
||||
group->timer = (u16_t) ((unsigned int)LWIP_RAND() % (max_time - 1)) + 1;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user