From: Russell Bryant Date: Tue, 14 Aug 2007 18:49:10 +0000 (+0000) Subject: Fix another spot where an iax2_peer would be leaked if realtime was in use. X-Git-Tag: 1.4.12.1~246 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e3ecc74dc18917cc741d1110eb1394fabd9a09e8;p=thirdparty%2Fasterisk.git Fix another spot where an iax2_peer would be leaked if realtime was in use. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@79470 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 9319393319..ed89bc961f 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);