diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-08-14 18:49:10 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-08-14 18:49:10 +0000 |
commit | 4271cc5829efff4b939ef482f335e2858f7ac4a8 (patch) | |
tree | 4aabae6628a9b56cc40bcb3b909fdbc8d8976212 | |
parent | e6b16c78e198bda72cf476ff05aa05401c450b91 (diff) |
Fix another spot where an iax2_peer would be leaked if realtime was in use.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@79470 f38db490-d61c-443f-a65b-d21fe96a405b
-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 931939331..ed89bc961 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -5284,8 +5284,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); |