From c8b90b75c9f6e19ecec69de882b6dfc2522ffe8d Mon Sep 17 00:00:00 2001
From: Russell Bryant <russell@russellbryant.com>
Date: Sun, 24 Sep 2006 13:57:19 +0000
Subject: [PATCH] Merged revisions 43553 via svnmerge from
 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 | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 6fad93b453..8949714a18 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -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);
-- 
GitLab