diff --git a/channels/chan_iax.c b/channels/chan_iax.c index 69ad1822eb623382340adcb3bd8e6812a6a3d7e6..7f61b622a1fe55e82062266d30d2bc695a379d5e 100755 --- a/channels/chan_iax.c +++ b/channels/chan_iax.c @@ -4841,6 +4841,7 @@ static struct iax_dpcache *find_cache(struct ast_channel *chan, char *data, char /* We found an entry that matches us! */ if (!strcmp(dp->peercontext, data) && !strcmp(dp->exten, exten)) break; + prev = dp; dp = next; } if (!dp) { diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 2316cd68600d3a347228f1154c4f877161fb6a6c..04b0bcafaad5ca1a72e3e2d44c83110059625190 100755 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -5224,6 +5224,7 @@ static struct iax2_dpcache *find_cache(struct ast_channel *chan, char *data, cha /* We found an entry that matches us! */ if (!strcmp(dp->peercontext, data) && !strcmp(dp->exten, exten)) break; + perv = dp; dp = next; } if (!dp) { @@ -5495,6 +5496,7 @@ int load_module(void) ast_pthread_mutex_init(&iaxq.lock); ast_pthread_mutex_init(&userl.lock); + ast_pthread_mutex_init(&peerl.lock); ast_cli_register(&cli_show_users); ast_cli_register(&cli_show_channels);