aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_meetme.c
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2006-06-11 21:12:56 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2006-06-11 21:12:56 +0000
commitb180725b3eb4dd9b6382f67c6e878cc17260e99c (patch)
treeb5d2b36ddb7c3597c3e2e7a41b12aecdccdf5480 /apps/app_meetme.c
parent1bc30a8d3559a2228a4ebe11ad5a136cd4e66289 (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: http://svn.digium.com/svn/asterisk/trunk@33547 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_meetme.c')
-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;
}