avformat/pva: Check for EOF before retrying in read_part_of_packet()
authorMichael Niedermayer <michael@niedermayer.cc>
Tue, 3 Jul 2018 20:14:42 +0000 (22:14 +0200)
committerMike Gabriel <sunweaver@debian.org>
Sat, 31 Aug 2019 15:36:55 +0000 (16:36 +0100)
Fixes: Infinite loop
Fixes: pva-4b1835dbc2027bf3c567005dcc78e85199240d06
Found-by: Paul Ch <paulcher@icloud.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Gbp-Pq: Name CVE-2018-1999012.patch

libavformat/pva.c

index 3abfc18508bbf3d485ff46b7a8dd00c297cc4d35..ea52892790427bd76eb363388eb81e3ad17ceed7 100644 (file)
@@ -120,6 +120,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) {
                 pva_log(s, AV_LOG_WARNING, "expected signaled PES packet, "
                                           "trying to recover\n");