summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2006-06-11 21:12:56 +0000
committerRussell Bryant <russell@russellbryant.com>2006-06-11 21:12:56 +0000
commit4cef7b714e6a1202be57e313a3c86b05b8b8cbcd (patch)
treeb5d2b36ddb7c3597c3e2e7a41b12aecdccdf5480 /apps
parente5660b2af602262dc1148e6d3799c909d4e34236 (diff)
fix up some places where frames are not free'd and remove an unnecessary
unlock of the confs list where it is not possible for it to be locked git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rw-r--r--apps/app_meetme.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index d06d2cd7f..f19ecccf8 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -1440,16 +1440,19 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
if (!ast_goto_if_exists(chan, exitcontext, tmp, 1)) {
ast_log(LOG_DEBUG, "Got DTMF %c, goto context %s\n", tmp[0], exitcontext);
ret = 0;
+ ast_frfree(f);
break;
} else if (option_debug > 1)
ast_log(LOG_DEBUG, "Exit by single digit did not work in meetme. Extension %s does not exist in context %s\n", tmp, exitcontext);
} else if ((f->frametype == AST_FRAME_DTMF) && (f->subclass == '#') && (confflags & CONFFLAG_POUNDEXIT)) {
ret = 0;
+ ast_frfree(f);
break;
} else if (((f->frametype == AST_FRAME_DTMF) && (f->subclass == '*') && (confflags & CONFFLAG_STARMENU)) || ((f->frametype == AST_FRAME_DTMF) && menu_active)) {
if (ioctl(fd, ZT_SETCONF, &ztc_empty)) {
ast_log(LOG_WARNING, "Error setting conference\n");
close(fd);
+ ast_frfree(f);
goto outrun;
}
@@ -1595,7 +1598,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
if (ioctl(fd, ZT_SETCONF, &ztc)) {
ast_log(LOG_WARNING, "Error setting conference\n");
close(fd);
- AST_LIST_UNLOCK(&confs);
+ ast_frfree(f);
goto outrun;
}