]> git.sesse.net Git - ffmpeg/commitdiff
nutdec: check maxpos in read_sm_data before returning success
authorAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Sat, 27 Jun 2015 15:50:56 +0000 (17:50 +0200)
committerAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Sat, 27 Jun 2015 17:22:27 +0000 (19:22 +0200)
Otherwise sm_size can be larger than size, which results in a negative
packet size.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
libavformat/nutdec.c

index 13fb39924d22ea63f0a4d076870c99ee7fc1b9ed..606deaa8380709b0ec09911c4718a233941226fc 100644 (file)
@@ -1005,6 +1005,9 @@ static int read_sm_data(AVFormatContext *s, AVIOContext *bc, AVPacket *pkt, int
         AV_WL32(dst+4, skip_end);
     }
 
+    if (avio_tell(bc) >= maxpos)
+        return AVERROR_INVALIDDATA;
+
     return 0;
 }