aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2011-01-28 22:54:23 +0000
committerseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2011-01-28 22:54:23 +0000
commitf29bd485b91fd67987d17ba0a78640dbb3d2218e (patch)
treec02aea48a1a14d4836b9052efef1523276d20b0e /apps
parentaf14ec6df01a630d8bddf567cc97594bc3db7258 (diff)
Merged revisions 304659,304682 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r304659 | seanbright | 2011-01-28 16:22:09 -0500 (Fri, 28 Jan 2011) | 5 lines Don't leak references if we can't create a pseudo channel for mixing in MeetMe. If there was a problem allocating a pseudo channel when building our meetme, we weren't destroying our user container or destroying the mutexes that we created. ........ r304682 | seanbright | 2011-01-28 17:38:05 -0500 (Fri, 28 Jan 2011) | 2 lines Revert part of the previous commit that snuck in. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@304683 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r--apps/app_meetme.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index cae8dfd4d..8ce78784d 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -1220,6 +1220,11 @@ static struct ast_conference *build_conf(const char *confno, const char *pin,
ast_log(LOG_WARNING, "Unable to open DAHDI pseudo device\n");
if (cnf->fd >= 0)
close(cnf->fd);
+ ao2_ref(cnf->usercontainer, -1);
+ ast_mutex_destroy(&cnf->playlock);
+ ast_mutex_destroy(&cnf->listenlock);
+ ast_mutex_destroy(&cnf->recordthreadlock);
+ ast_mutex_destroy(&cnf->announcethreadlock);
ast_free(cnf);
cnf = NULL;
goto cnfout;
@@ -1245,7 +1250,11 @@ static struct ast_conference *build_conf(const char *confno, const char *pin,
ast_hangup(cnf->chan);
else
close(cnf->fd);
-
+ ao2_ref(cnf->usercontainer, -1);
+ ast_mutex_destroy(&cnf->playlock);
+ ast_mutex_destroy(&cnf->listenlock);
+ ast_mutex_destroy(&cnf->recordthreadlock);
+ ast_mutex_destroy(&cnf->announcethreadlock);
ast_free(cnf);
cnf = NULL;
goto cnfout;