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