Merge "AST-2016-002 chan_sip.c: Fix retransmission timeout integer overflow." into 13

changes/91/2191/2
Kevin Harwell 10 years ago committed by Gerrit Code Review
commit 4834d460d6

@ -3965,6 +3965,13 @@ static int retrans_pkt(const void *data)
}
/* For non-invites, a maximum of 4 secs */
if (INT_MAX / pkt->timer_a < pkt->timer_t1) {
/*
* Uh Oh, we will have an integer overflow.
* Recalculate previous timeout time instead.
*/
pkt->timer_a = pkt->timer_a / 2;
}
siptimer_a = pkt->timer_t1 * pkt->timer_a; /* Double each time */
if (pkt->method != SIP_INVITE && siptimer_a > 4000) {
siptimer_a = 4000;

Loading…
Cancel
Save