diff --git a/channels/chan_iax.c b/channels/chan_iax.c index 69ad1822eb..7f61b622a1 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 2316cd6860..04b0bcafaa 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);