aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-06-21 23:40:05 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2016-06-22 03:02:47 +0200
commite0faad837cd5047a1310cefa0cf163d8caa865e7 (patch)
treebe33538f7ddca848f4ea2cdd96676ece55d27b5c
parent3f380b9b40f84f04cbaec290f98da4a0ab2bafee (diff)
downloadffmpeg-e0faad837cd5047a1310cefa0cf163d8caa865e7.tar.gz
avformat/flvdec: Do not check last size if it could not be read due to EOF
Fixes part of Ticket5648 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavformat/flvdec.c1
-rw-r--r--tests/ref/fate/flv-demux1
2 files changed, 2 insertions, 0 deletions
diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
index 25dfba55ae..2bf1e059e1 100644
--- a/libavformat/flvdec.c
+++ b/libavformat/flvdec.c
@@ -1141,6 +1141,7 @@ retry_duration:
leave:
last = avio_rb32(s->pb);
if (last != orig_size + 11 && last != orig_size + 10 &&
+ !avio_feof(s->pb) &&
(last != orig_size || !last) && last != flv->sum_flv_tag_size &&
!flv->broken_sizes) {
av_log(s, AV_LOG_ERROR, "Packet mismatch %d %d %d\n", last, orig_size + 11, flv->sum_flv_tag_size);
diff --git a/tests/ref/fate/flv-demux b/tests/ref/fate/flv-demux
index 79ee263262..0a4598c01b 100644
--- a/tests/ref/fate/flv-demux
+++ b/tests/ref/fate/flv-demux
@@ -612,3 +612,4 @@
0, 11612, 11612, 33, 1078, 0x501d1c72, F=0x0
0, 11645, 11645, 33, 2600, 0xdf370d24, F=0x0
1, 11656, 11656, 46, 346, 0x8899a188
+0, 11678, 11678, 33, 1190, 0xdc1e4c99, F=0x0