diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2018-07-03 22:14:42 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2018-07-08 19:45:47 +0200 |
commit | e82a06d2bef568124860090e2ec0b0de887c40a1 (patch) | |
tree | af6d2c6944dad21f6bd11b36ecddb96f844b872c | |
parent | 4a42353c7a0c906a38c7cfc2fe29c0242a2c2231 (diff) | |
download | ffmpeg-e82a06d2bef568124860090e2ec0b0de887c40a1.tar.gz |
avformat/pva: Check for EOF before retrying in read_part_of_packet()
Fixes: Infinite loop
Fixes: pva-4b1835dbc2027bf3c567005dcc78e85199240d06
Found-by: Paul Ch <paulcher@icloud.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 9807d3976be0e92e4ece3b4b1701be894cd7c2e1)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavformat/pva.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavformat/pva.c b/libavformat/pva.c index 16381db905..04ae8e2800 100644 --- a/libavformat/pva.c +++ b/libavformat/pva.c @@ -134,6 +134,10 @@ recover: pes_flags = avio_rb16(pb); pes_header_data_length = avio_r8(pb); + if (avio_feof(pb)) { + return AVERROR_EOF; + } + if (pes_signal != 1 || pes_header_data_length == 0) { pva_log(s, AV_LOG_WARNING, "expected non empty signaled PES packet, " "trying to recover\n"); |