aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2018-07-03 22:14:42 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2018-07-10 01:52:56 +0200
commitc75b8c9733efce84304a2dcec1bbfe806ab2e90f (patch)
tree0056f1f0d47db451e84ff622d3b6598436056d23
parent4652b0f8fe8a444619f695bc1921d0d8133e1203 (diff)
downloadffmpeg-c75b8c9733efce84304a2dcec1bbfe806ab2e90f.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.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavformat/pva.c b/libavformat/pva.c
index 900ad6133d..9714fb186c 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");