aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-14 18:50:12 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-14 18:50:12 +0000
commit600ef2b1ef4a51215e9a870a1d71f2c12fc8219a (patch)
tree615a747e7da61730dbcb668ae0e576ed60fb6cef
parent6805b4f295ad9f49a4c312b2b75f7dfe1b4bef34 (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: http://svn.digium.com/svn/asterisk/trunk@79471 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_iax2.c5
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);