diff options
author | Russell Bryant <russell@russellbryant.com> | 2007-08-14 18:50:12 +0000 |
---|---|---|
committer | Russell Bryant <russell@russellbryant.com> | 2007-08-14 18:50:12 +0000 |
commit | 4b584bbdf7dea30c5ca35299eda432533f5385ca (patch) | |
tree | 615a747e7da61730dbcb668ae0e576ed60fb6cef /channels/chan_iax2.c | |
parent | 4e038cdc7c429bebb4a991474e6c40829d24ca5b (diff) |
Merged revisions 79470 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r79470 | russell | 2007-08-14 13:49:10 -0500 (Tue, 14 Aug 2007) | 2 lines
Fix another spot where an iax2_peer would be leaked if realtime was in use.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_iax2.c')
-rw-r--r-- | channels/chan_iax2.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 164b217a9..70122bc3c 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -5560,8 +5560,11 @@ static int authenticate_reply(struct chan_iax2_pvt *p, struct sockaddr_in *sin, ast_mutex_unlock(&iaxsl[callno]); if ((peer = realtime_peer(peer_name, NULL))) { ast_mutex_lock(&iaxsl[callno]); - if (!(p = iaxs[callno])) + if (!(p = iaxs[callno])) { + if (ast_test_flag(peer, IAX_TEMPONLY)) + destroy_peer(peer); return -1; + } res = authenticate(p->challenge, peer->secret,peer->outkey, authmethods, &ied, sin, &p->ecx, &p->dcx); if (ast_test_flag(peer, IAX_TEMPONLY)) destroy_peer(peer); |