In r227276, a while loop was turned into a for loop. Unfortunately, a portion
of the while loop was left in the code such that, when a static gateway is
encountered in the list of MGCP gateways, the next gateway would be skipped.
At best, we would simply flip past a gateway; at worst, this could lead to a
crash.
ASTERISK-24500 #close
Reported by: Xavier Hienne
patches:
chan_mgcp.patch uploaded by Xavier Hienne (License 6657)
........
Merged revisions 427613 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@427614
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
/* not dynamic, check if the name matches */
} else if (name) {
if (strcasecmp(g->name, at)) {
- g = g->next;
continue;
}
/* not dynamic, no name, check if the addr matches */
} else if (!name && sin) {
if ((g->addr.sin_addr.s_addr != sin->sin_addr.s_addr) ||
(g->addr.sin_port != sin->sin_port)) {
- if(!g->next)
- g = find_realtime_gw(name, at, sin);
- else
- g = g->next;
continue;
}
} else {