Merged revisions 79470 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Tue, 14 Aug 2007 18:50:12 +0000 (18:50 +0000)
committerRussell Bryant <russell@russellbryant.com>
Tue, 14 Aug 2007 18:50:12 +0000 (18:50 +0000)
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

channels/chan_iax2.c

index 164b217..70122bc 100644 (file)
@@ -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);