]> git.sesse.net Git - ffmpeg/commitdiff
avformat/3dostr: Check remaining buffer in probe before 8 byte step
authorMichael Niedermayer <michael@niedermayer.cc>
Fri, 18 Sep 2020 22:11:59 +0000 (00:11 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 18 Sep 2020 22:55:04 +0000 (00:55 +0200)
Fixes: segfault
Fixes: signal_sigabrt_7ffff6ae7cc9_7213_0d6457b9d6897fa7c78507fa5de53510.ts
Regression since: 3ac45bf66561a667260cac37223c0393f7333fca

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavformat/3dostr.c

index 2d92b46570c747ffec8340039e125436bfc9ea11..2a35d661c373718f73bcf512cee6ac1751f1106a 100644 (file)
@@ -29,10 +29,9 @@ static int threedostr_probe(const AVProbeData *p)
         unsigned chunk = AV_RL32(p->buf + i);
         unsigned size  = AV_RB32(p->buf + i + 4);
 
-        i += 8;
         if (size < 8 || p->buf_size - i < size)
             return 0;
-
+        i += 8;
         size -= 8;
         switch (chunk) {
         case MKTAG('C','T','R','L'):