app_mixmonitor: Fix a reference leak in manager_mixmonitor function
authorJonathan Rose <jrose@digium.com>
Thu, 5 Jul 2012 18:11:58 +0000 (18:11 +0000)
committerJonathan Rose <jrose@digium.com>
Thu, 5 Jul 2012 18:11:58 +0000 (18:11 +0000)
Manager_mixmonitor included an early return on failed executions of mixmonitor
that would result in a leaked channel reference.

(closes issue ASTERISK-19943)
Reported by: Mark Murawski
Patches:
mixmonitor-trunk-368394.patch uploaded by Mark Murawski (license 5791)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369644 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_mixmonitor.c

index 3a72380..b3c37f3 100644 (file)
@@ -1258,6 +1258,7 @@ static int manager_mixmonitor(struct mansession *s, const struct message *m)
        ast_channel_unlock(c);
 
        if (res) {
        ast_channel_unlock(c);
 
        if (res) {
+               c = ast_channel_unref(c);
                astman_send_error(s, m, "Could not start monitoring channel");
                return AMI_SUCCESS;
        }
                astman_send_error(s, m, "Could not start monitoring channel");
                return AMI_SUCCESS;
        }