wvdec: check for eof in wv_read_block_header()
authorPaul B Mahol <onemda@gmail.com>
Mon, 18 Aug 2014 11:00:24 +0000 (11:00 +0000)
committerSylvain Beucler <beuc@debian.org>
Thu, 5 Dec 2019 16:27:00 +0000 (16:27 +0000)
Fixes Ticket #3865
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Gbp-Pq: Name CVE-2019-14372.patch

libavformat/wvdec.c

index 1a2a722cb721818d628c545beeff8e8be0f92928..d23dc2829b16ca7a92d7941cbcc8d39f74bd8884 100644 (file)
@@ -121,7 +121,7 @@ static int wv_read_block_header(AVFormatContext *ctx, AVIOContext *pb)
                    "Cannot determine additional parameters\n");
             return AVERROR_INVALIDDATA;
         }
-        while (avio_tell(pb) < block_end) {
+        while (avio_tell(pb) < block_end && !avio_feof(pb)) {
             int id, size;
             id   = avio_r8(pb);
             size = (id & 0x80) ? avio_rl24(pb) : avio_r8(pb);