[svn-commits] rmudgett: trunk r413453 - in /trunk: ./ apps/app_confbridge.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Wed May 7 15:39:33 CDT 2014


Author: rmudgett
Date: Wed May  7 15:39:29 2014
New Revision: 413453

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=413453
Log:
app_confbridge: Fix ref leak in CLI "confbridge kick" command.

Fixed ref leak in the CLI "confbridge kick" command when the channel to be
kicked was not in the conference.
........

Merged revisions 413451 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 413452 from http://svn.asterisk.org/svn/asterisk/branches/12

Modified:
    trunk/   (props changed)
    trunk/apps/app_confbridge.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-12-merged' - no diff available.

Modified: trunk/apps/app_confbridge.c
URL: http://svnview.digium.com/svn/asterisk/trunk/apps/app_confbridge.c?view=diff&rev=413453&r1=413452&r2=413453
==============================================================================
--- trunk/apps/app_confbridge.c (original)
+++ trunk/apps/app_confbridge.c Wed May  7 15:39:29 2014
@@ -2283,6 +2283,7 @@
 static char *handle_cli_confbridge_kick(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
 {
 	struct confbridge_conference *conference;
+	int not_found;
 
 	switch (cmd) {
 	case CLI_INIT:
@@ -2310,11 +2311,12 @@
 		ast_cli(a->fd, "No conference bridge named '%s' found!\n", a->argv[2]);
 		return CLI_SUCCESS;
 	}
-	if (kick_conference_participant(conference, a->argv[3])) {
+	not_found = kick_conference_participant(conference, a->argv[3]);
+	ao2_ref(conference, -1);
+	if (not_found) {
 		ast_cli(a->fd, "No participant named '%s' found!\n", a->argv[3]);
 		return CLI_SUCCESS;
 	}
-	ao2_ref(conference, -1);
 	ast_cli(a->fd, "Participant '%s' kicked out of conference '%s'\n", a->argv[3], a->argv[2]);
 	return CLI_SUCCESS;
 }
@@ -2948,7 +2950,7 @@
 	const char *conference_name = astman_get_header(m, "Conference");
 	const char *channel = astman_get_header(m, "Channel");
 	struct confbridge_conference *conference;
-	int found = 0;
+	int found;
 
 	if (ast_strlen_zero(conference_name)) {
 		astman_send_error(s, m, "No Conference name provided.");




More information about the svn-commits mailing list