]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/diracdec: Check for arith decoder errors in dirac_unpack_block_motion_data()
authorMichael Niedermayer <michael@niedermayer.cc>
Sun, 12 May 2019 17:43:08 +0000 (19:43 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Mon, 27 May 2019 17:01:38 +0000 (19:01 +0200)
Fixes: Timeout (54sec -> 188ms)
Fixes: 14585/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5649933052411904
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/diracdec.c

index a5bb6d5f3441b224f6a60ac124af3330ed5f3eae..52a19516901229e0e0fe39648ea5af8fec020729 100644 (file)
@@ -1551,6 +1551,11 @@ static int dirac_unpack_block_motion_data(DiracContext *s)
                 }
         }
 
+    for (i = 0; i < 4 + 2*s->num_refs; i++) {
+        if (arith[i].error)
+            return arith[i].error;
+    }
+
     return 0;
 }