From f4bf1823e9e7a3ac87d89b09f86f6b6a621ca433 Mon Sep 17 00:00:00 2001
From: Matthew Jordan <mjordan@digium.com>
Date: Fri, 23 Aug 2013 22:12:57 +0000
Subject: [PATCH] Fix channel reference leak in Originated channels

When originating channels, ast_pbx_outgoing_* caused the dialed channel
reference to be bumped twice. Ostensibly, this routine is bumping the channel
lifetime such that the channel doesn't get nuked in between locks/unlocks;
however, since the routine should return the dialed channel with its
reference bumped, it only needs to do this one time.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 main/pbx.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/main/pbx.c b/main/pbx.c
index 27a586ef91..0b970bb136 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -10101,8 +10101,7 @@ static int pbx_outgoing_attempt(const char *type, struct ast_format_cap *cap, co
 
 	/* Wait for dialing to complete */
 	if (channel || synchronous) {
-		if (channel) {
-			ast_channel_ref(*channel);
+		if (channel && *channel) {
 			ast_channel_unlock(*channel);
 		}
 		while (!outgoing->dialed) {
-- 
GitLab