From 6870ba5f26ff2019202168c99715c3aa7b6cd7d4 Mon Sep 17 00:00:00 2001
From: Corey Farrell <git@cfware.com>
Date: Sun, 7 Jan 2018 21:21:13 -0500
Subject: [PATCH] res_stasis: Fix app_is_subscribed_bridge_id.

Instead of searching for bridge_id provided in an argument this function
always searched for BRIDGE_ALL first.  Rewrite this function to work
like the similar functions for channel and endpoint functions.

Change-Id: Ib5caca69e11727c5c8a7284a1d00621f40f1e60a
---
 res/stasis/app.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/res/stasis/app.c b/res/stasis/app.c
index 667636ec0b..5382aef1c8 100644
--- a/res/stasis/app.c
+++ b/res/stasis/app.c
@@ -1429,25 +1429,15 @@ int app_unsubscribe_bridge_id(struct stasis_app *app, const char *bridge_id)
 int app_is_subscribed_bridge_id(struct stasis_app *app, const char *bridge_id)
 {
 	struct app_forwards *forwards;
-	SCOPED_AO2LOCK(lock, app->forwards);
-
-	forwards = ao2_find(app->forwards, BRIDGE_ALL, OBJ_SEARCH_KEY | OBJ_NOLOCK);
-	if (forwards) {
-		ao2_ref(forwards, -1);
-		return 1;
-	}
 
 	if (ast_strlen_zero(bridge_id)) {
 		bridge_id = BRIDGE_ALL;
 	}
 
-	forwards = ao2_find(app->forwards, bridge_id, OBJ_SEARCH_KEY | OBJ_NOLOCK);
-	if (forwards) {
-		ao2_ref(forwards, -1);
-		return 1;
-	}
+	forwards = ao2_find(app->forwards, bridge_id, OBJ_SEARCH_KEY);
+	ao2_cleanup(forwards);
 
-	return 0;
+	return forwards != NULL;
 }
 
 static void *bridge_find(const struct stasis_app *app, const char *id)
-- 
GitLab