diff --git a/main/channel.c b/main/channel.c index 5b58b76bd73aa5b177bc57dae9d6128408124b2b..48eedafe7617050f14248ab41c339df854f09779 100644 --- a/main/channel.c +++ b/main/channel.c @@ -1084,6 +1084,7 @@ static int __ast_queue_frame(struct ast_channel *chan, struct ast_frame *fin, in for (cur = fin; cur; cur = AST_LIST_NEXT(cur, frame_list)) { if (!(f = ast_frdup(cur))) { ast_frfree(AST_LIST_FIRST(&frames)); + ast_channel_unlock(chan); return -1; }