diff options
author | anthm <anthm@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-09-23 14:46:09 +0000 |
---|---|---|
committer | anthm <anthm@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-09-23 14:46:09 +0000 |
commit | 7bc943f4abdfcba5caaf1a99d0008ab149805fdd (patch) | |
tree | eadb6c10604a4658b4f690d3bd258c6816272278 /app.c | |
parent | 937a77c67cc9104deb1a5f27df9d78209b331c17 (diff) |
ast_control_streamfile caused seg with null stop or pause chars
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3823 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'app.c')
-rwxr-xr-x | app.c | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -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); |