summaryrefslogtreecommitdiff
path: root/res
diff options
context:
space:
mode:
Diffstat (limited to 'res')
-rw-r--r--res/res_stasis.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/res/res_stasis.c b/res/res_stasis.c
index 54f65150e..24c2b6598 100644
--- a/res/res_stasis.c
+++ b/res/res_stasis.c
@@ -1328,7 +1328,9 @@ int stasis_app_exec(struct ast_channel *chan, const char *app_name, int argc,
bridge = ao2_bump(stasis_app_get_bridge(control));
if (bridge != last_bridge) {
- app_unsubscribe_bridge(app, last_bridge);
+ if (last_bridge) {
+ app_unsubscribe_bridge(app, last_bridge);
+ }
if (bridge) {
app_subscribe_bridge(app, bridge);
}
@@ -1389,7 +1391,9 @@ int stasis_app_exec(struct ast_channel *chan, const char *app_name, int argc,
ast_bridge_depart(chan);
}
- app_unsubscribe_bridge(app, stasis_app_get_bridge(control));
+ if (stasis_app_get_bridge(control)) {
+ app_unsubscribe_bridge(app, stasis_app_get_bridge(control));
+ }
ao2_cleanup(bridge);
/* Only publish a stasis_end event if it hasn't already been published */