From f2175c5a393491d55bfdc914b990cec691139a30 Mon Sep 17 00:00:00 2001 From: Corey Farrell Date: Tue, 31 Oct 2017 14:18:45 -0400 Subject: [PATCH] res_ari_channels: Fix reference leak in channel_state_invalid. channel_state_invalid leaked a reference to the channel snapshot any time it was aquired. ASTERISK-27067 #close Change-Id: I8c653f00416b39978513c5605c4be0f03b1df29a --- res/ari/resource_channels.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/res/ari/resource_channels.c b/res/ari/resource_channels.c index 6027a8059a..6b4f26c25a 100644 --- a/res/ari/resource_channels.c +++ b/res/ari/resource_channels.c @@ -99,9 +99,13 @@ static int channel_state_invalid(struct stasis_app_control *control, || snapshot->state == AST_STATE_RINGING) { ast_ari_response_error(response, 412, "Precondition Failed", "Channel in invalid state"); + ao2_ref(snapshot, -1); + return -1; } + ao2_ref(snapshot, -1); + return 0; }