As pointed out on the -dev list, actually use the result of find_peer() so that
authorRussell Bryant <russell@russellbryant.com>
Mon, 7 Jul 2008 11:53:52 +0000 (11:53 +0000)
committerRussell Bryant <russell@russellbryant.com>
Mon, 7 Jul 2008 11:53:52 +0000 (11:53 +0000)
a peer reference is not leaked.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@128564 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 93bc400..83b9a7e 100644 (file)
@@ -11687,8 +11687,9 @@ static enum check_auth_result check_peer_ok(struct sip_pvt *p, char *of,
        peer = find_peer(of, NULL, TRUE, FALSE);
 
        /* If not found, then find device on IP (if it's not a SUBSCRIBE) */
-       if (!peer && sipmethod != SIP_SUBSCRIBE)
-               find_peer(NULL, &p->recv, TRUE, FALSE);
+       if (!peer && sipmethod != SIP_SUBSCRIBE) {
+               peer = find_peer(NULL, &p->recv, TRUE, FALSE);
+       }
 
        if (!peer) {
                if (debug)