diff mbox

[FFmpeg-devel,5/6] avformat/pva: Check for EOF before retrying in read_part_of_packet()

Message ID 20180703210530.7493-5-michael@niedermayer.cc
State Accepted
Commit 9807d3976be0e92e4ece3b4b1701be894cd7c2e1
Headers show

Commit Message

Michael Niedermayer July 3, 2018, 9:05 p.m. UTC
Fixes: Infinite loop
Fixes: pva-4b1835dbc2027bf3c567005dcc78e85199240d06

Found-by: Paul Ch <paulcher@icloud.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavformat/pva.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Michael Niedermayer July 5, 2018, 12:04 p.m. UTC | #1
On Tue, Jul 03, 2018 at 11:05:29PM +0200, Michael Niedermayer wrote:
> Fixes: Infinite loop
> Fixes: pva-4b1835dbc2027bf3c567005dcc78e85199240d06
> 
> Found-by: Paul Ch <paulcher@icloud.com>
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
>  libavformat/pva.c | 4 ++++
>  1 file changed, 4 insertions(+)

will apply

[...]
diff mbox

Patch

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");