From: Russell Bryant Date: Thu, 23 Aug 2007 17:04:04 +0000 (+0000) Subject: Merged revisions 80499 via svnmerge from X-Git-Tag: 1.6.0-beta1~3^2~1639 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=488cd9a7a66e5f405b821315537d1b06bd3f8877;p=thirdparty%2Fasterisk.git Merged revisions 80499 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r80499 | russell | 2007-08-23 12:02:50 -0500 (Thu, 23 Aug 2007) | 3 lines Fix some code where it was possible for a reference to a peer to not get released when it should. Thank you to Marta Carbone for pointing this out! ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80500 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 8b8f506e7b..9290f232cd 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -5706,10 +5706,12 @@ static int authenticate_reply(struct chan_iax2_pvt *p, struct sockaddr_in *sin, /* No specified host, or this is our host */ ) { res = authenticate(p->challenge, peer->secret, peer->outkey, authmethods, &ied, sin, &p->ecx, &p->dcx); - peer_unref(peer); - if (!res) - break; + if (!res) { + peer_unref(peer); + break; + } } + peer_unref(peer); } if (!peer) { /* We checked our list and didn't find one. It's unlikely, but possible,