summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/channel.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/main/channel.c b/main/channel.c
index b332dce1e..29066ebf8 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -1366,7 +1366,9 @@ static int __ast_queue_frame(struct ast_channel *chan, struct ast_frame *fin, in
AST_LIST_HEAD_INIT_NOLOCK(&frames);
for (cur = fin; cur; cur = AST_LIST_NEXT(cur, frame_list)) {
if (!(f = ast_frdup(cur))) {
- ast_frfree(AST_LIST_FIRST(&frames));
+ if (AST_LIST_FIRST(&frames)) {
+ ast_frfree(AST_LIST_FIRST(&frames));
+ }
ast_channel_unlock(chan);
return -1;
}