Skip to content

Commit 0b7f8f9

Browse files
committed
Fix crash in igmp_start_timer (#1826)
1 parent f266f8a commit 0b7f8f9

File tree

1 file changed

+12
-1
lines changed
  • tools/sdk/lwip/src/core/ipv4

1 file changed

+12
-1
lines changed

tools/sdk/lwip/src/core/ipv4/igmp.c

+12-1
Original file line numberDiff line numberDiff line change
@@ -703,11 +703,22 @@ static void
703703
igmp_start_timer(struct igmp_group *group, u8_t max_time)
704704
{
705705
/* ensure the input value is > 0 */
706+
#ifdef LWIP_RAND
706707
if (max_time == 0) {
707708
max_time = 1;
708709
}
709710
/* ensure the random value is > 0 */
710-
group->timer = (LWIP_RAND() % (max_time - 1)) + 1;
711+
group->timer = (LWIP_RAND() % max_time);
712+
if (group->timer == 0) {
713+
group->timer = 1;
714+
}
715+
#else /* LWIP_RAND */
716+
/* ATTENTION: use this only if absolutely necessary! */
717+
group->timer = max_time / 2;
718+
if (group->timer == 0) {
719+
group->timer = 1;
720+
}
721+
#endif /* LWIP_RAND */
711722
}
712723

713724
/**

0 commit comments

Comments
 (0)