diff --git a/main/channel.c b/main/channel.c index 3d6fae64d335afc9be2c46de71a0d605bdce2044..e92eaf8bb29a0dec6ab844a50e67e43e84e8fbe0 100644 --- a/main/channel.c +++ b/main/channel.c @@ -10845,7 +10845,9 @@ static struct ast_frame *suppress_framehook_event_cb(struct ast_channel *chan, s if (suppress_frame) { switch (frame->frametype) { case AST_FRAME_VOICE: - ast_frfree(frame); + if (event == AST_FRAMEHOOK_EVENT_READ) { + ast_frfree(frame); + } frame = &ast_null_frame; break; default: