aboutsummaryrefslogtreecommitdiffstats
path: root/main/channel.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/channel.c')
-rw-r--r--main/channel.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/main/channel.c b/main/channel.c
index bf5006de5..830f4b1b4 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -1730,14 +1730,19 @@ int __ast_answer(struct ast_channel *chan, unsigned int delay, int cdr_answer)
}
f = ast_read(chan);
if (!f || (f->frametype == AST_FRAME_CONTROL && f->subclass == AST_CONTROL_HANGUP)) {
+ if (f) {
+ ast_frfree(f);
+ }
res = -1;
ast_debug(2, "Hangup of channel %s detected in answer routine\n", chan->name);
break;
}
if (f->frametype == AST_FRAME_VOICE) {
+ ast_frfree(f);
res = 0;
break;
}
+ ast_frfree(f);
}
}
break;