diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2018-07-28 15:03:50 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2018-10-28 02:22:42 +0200 |
commit | 44e878d08674a15906badfb921443a44ebf6257d (patch) | |
tree | 77955c7811b9ef56e490bc65b8645e6c73fe98ca | |
parent | c90457a95ee8c81617ec6227784780b691ad3061 (diff) | |
download | ffmpeg-44e878d08674a15906badfb921443a44ebf6257d.tar.gz |
avformat/flvenc: Check audio packet size
Fixes: Assertion failure
Fixes: assert_flvenc.c:941_1.swf
Found-by: #CHEN HONGXU# <HCHEN017@e.ntu.edu.sg>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 6b67d7f05918f7a1ee8fc6ff21355d7e8736aa10)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavformat/flvenc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c index 899b07ea7b..e966c36c65 100644 --- a/libavformat/flvenc.c +++ b/libavformat/flvenc.c @@ -879,6 +879,11 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt) int flags = -1, flags_size, ret; int64_t cur_offset = avio_tell(pb); + if (par->codec_type == AVMEDIA_TYPE_AUDIO && !pkt->size) { + av_log(s, AV_LOG_WARNING, "Empty audio Packet\n"); + return AVERROR(EINVAL); + } + if (par->codec_id == AV_CODEC_ID_VP6F || par->codec_id == AV_CODEC_ID_VP6A || par->codec_id == AV_CODEC_ID_VP6 || par->codec_id == AV_CODEC_ID_AAC) flags_size = 2; |