From 762cd4621d476978e93e42a1fdbee27ba24d61c5 Mon Sep 17 00:00:00 2001
From: Anthony Minessale II <anthmct@yahoo.com>
Date: Thu, 23 Sep 2004 14:46:09 +0000
Subject: [PATCH] ast_control_streamfile caused seg with null stop or pause
 chars

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 app.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/app.c b/app.c
index 29f446fd59..eb1a37e0a8 100755
--- a/app.c
+++ b/app.c
@@ -415,7 +415,7 @@ int ast_control_streamfile(struct ast_channel *chan, char *file, char *fwd, char
 {
 	struct timeval started, ended;
 	long elapsed = 0,last_elapsed =0;
-	char *breaks;
+	char *breaks=NULL;
 	int blen=2;
 	int res=0;
 
@@ -424,11 +424,12 @@ int ast_control_streamfile(struct ast_channel *chan, char *file, char *fwd, char
 	if (pause)
 		blen += strlen(pause);
 
-	breaks = alloca(blen + 1);
-	breaks[0] = '\0';
-	strcat(breaks, stop);
-	strcat(breaks, pause);
-
+	if(blen > 2) {
+		breaks = alloca(blen + 1);
+		breaks[0] = '\0';
+		strcat(breaks, stop);
+		strcat(breaks, pause);
+	}
 	if (chan->_state != AST_STATE_UP)
 		res = ast_answer(chan);
 
-- 
GitLab