summaryrefslogtreecommitdiff
path: root/channels/chan_unistim.c
diff options
context:
space:
mode:
Diffstat (limited to 'channels/chan_unistim.c')
-rw-r--r--channels/chan_unistim.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/channels/chan_unistim.c b/channels/chan_unistim.c
index 80dad41c6..3c9d5d61a 100644
--- a/channels/chan_unistim.c
+++ b/channels/chan_unistim.c
@@ -4647,6 +4647,7 @@ static struct unistimsession *channel_to_session(struct ast_channel *ast)
ast_mutex_lock(&sub->parent->parent->lock);
if (!sub->parent->parent->session) {
ast_log(LOG_WARNING, "Unistim callback function called without a session\n");
+ ast_mutex_unlock(&sub->parent->parent->lock);
return NULL;
}
ast_mutex_unlock(&sub->parent->parent->lock);
@@ -5080,6 +5081,7 @@ static int unistim_fixup(struct ast_channel *oldchan, struct ast_channel *newcha
if (p->owner != oldchan) {
ast_log(LOG_WARNING, "old channel wasn't %s (%p) but was %s (%p)\n",
ast_channel_name(oldchan), oldchan, ast_channel_name(p->owner), p->owner);
+ ast_mutex_unlock(&p->lock);
return -1;
}