From a8d3ee89c6ad714d27810ee68ca203259d0471fe Mon Sep 17 00:00:00 2001
From: Tilghman Lesher <tilghman@meg.abyt.es>
Date: Tue, 24 Oct 2006 03:09:48 +0000
Subject: [PATCH] Merged revisions 46078 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r46078 | tilghman | 2006-10-23 22:01:00 -0500 (Mon, 23 Oct 2006) | 3 lines

Pass through a frame if we don't know what it is, rather than trying to pass a
NULL, which will segfault a channel driver (Bug 8149)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 main/channel.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/main/channel.c b/main/channel.c
index 9a53205ce0..65572d3e84 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -2615,7 +2615,10 @@ int ast_write(struct ast_channel *chan, struct ast_frame *fr)
 		res = 0;
 		break;
 	default:
-		res = chan->tech->write(chan, f);
+		/* At this point, fr is the incoming frame and f is NULL.  Channels do
+		 * not expect to get NULL as a frame pointer and will segfault.  Hence,
+		 * we output the original frame passed in. */
+		res = chan->tech->write(chan, fr);
 		break;
 	}
 
-- 
GitLab