diff options
author | Mark Spencer <markster@digium.com> | 2005-02-01 06:48:50 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2005-02-01 06:48:50 +0000 |
commit | 4d92934e6e044740bc1173596b230588010d19a8 (patch) | |
tree | af5b3bff538a3378a2e5e828f4b0f00a376529bf /apps/app_meetme.c | |
parent | a6c065816a9715d0f6d3fc8e9a754324fbd80196 (diff) |
Fix potential segfault (bug #3479)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4942 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_meetme.c')
-rwxr-xr-x | apps/app_meetme.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c index a5c81b62f..6f003f7af 100755 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -755,7 +755,7 @@ zapretry: ztc.confno = conf->zapconf; ast_mutex_lock(&conflock); if (!(confflags & CONFFLAG_QUIET) && (confflags & CONFFLAG_INTROUSER) && conf->users > 1) { - if (ast_fileexists(user->namerecloc, NULL, NULL)) { + if (conf->chan && ast_fileexists(user->namerecloc, NULL, NULL)) { if (!ast_streamfile(conf->chan, user->namerecloc, chan->language)) ast_waitstream(conf->chan, ""); if (!ast_streamfile(conf->chan, "conf-hasjoin", chan->language)) @@ -1109,7 +1109,7 @@ zapretry: conf_play(conf, LEAVE); if (!(confflags & CONFFLAG_QUIET) && (confflags & CONFFLAG_INTROUSER) && conf->users > 1) { - if (ast_fileexists(user->namerecloc, NULL, NULL)) { + if (conf->chan && ast_fileexists(user->namerecloc, NULL, NULL)) { if (!ast_streamfile(conf->chan, user->namerecloc, chan->language)) ast_waitstream(conf->chan, ""); if (!ast_streamfile(conf->chan, "conf-hasleft", chan->language)) @@ -1719,6 +1719,9 @@ static void *recordthread(void *args) int res=0; cnf = (struct ast_conference *)args; + if( !cnf || !cnf->chan ) { + pthread_exit(0); + } ast_stopstream(cnf->chan); flags = O_CREAT|O_TRUNC|O_WRONLY; s = ast_writefile(cnf->recordingfilename, cnf->recordingformat, NULL, flags, 0, 0644); |