Merged revisions 43553 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Sun, 24 Sep 2006 13:57:19 +0000 (13:57 +0000)
committerRussell Bryant <russell@russellbryant.com>
Sun, 24 Sep 2006 13:57:19 +0000 (13:57 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r43553 | russell | 2006-09-24 09:53:35 -0400 (Sun, 24 Sep 2006) | 12 lines

Merged revisions 43552 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r43552 | russell | 2006-09-24 09:50:30 -0400 (Sun, 24 Sep 2006) | 4 lines

Check to see if the channel that is activating the IAXPEER function is actually
an IAX2 channel before proceeding to process it to avoid crashing.
(issue #8017, reported by admott, fixed by myself)

........

................

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

channels/chan_iax2.c

index 6fad93b..8949714 100644 (file)
@@ -9483,9 +9483,11 @@ static int function_iaxpeer(struct ast_channel *chan, char *cmd, char *data, cha
        struct iax2_peer *peer;
        char *peername, *colname;
 
-       if (!(peername = ast_strdupa(data)))
+       if (chan->tech != &iax2_tech)
                return -1;
 
+       peername = ast_strdupa(data);
+
        /* if our channel, return the IP address of the endpoint of current channel */
        if (!strcmp(peername,"CURRENTCHANNEL")) {
                unsigned short callno = PTR_TO_CALLNO(chan->tech_pvt);