avcodec/ivi: Ask for samples with odd tiles
authorMichael Niedermayer <michael@niedermayer.cc>
Tue, 2 Jul 2019 17:57:08 +0000 (19:57 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Wed, 17 Jul 2019 21:18:50 +0000 (23:18 +0200)
Fixes: Assertion failure
Fixes: 15422/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_INDEO5_fuzzer-5676625481433088

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/ivi.c

index e9c4b9b..73fcf51 100644 (file)
@@ -429,6 +429,10 @@ av_cold int ff_ivi_init_tiles(IVIPlaneDesc *planes,
         t_height = !p ? tile_height : (tile_height + 3) >> 2;
 
         if (!p && planes[0].num_bands == 4) {
+            if (t_width % 2 || t_height % 2) {
+                avpriv_request_sample(NULL, "Odd tiles");
+                return AVERROR_PATCHWELCOME;
+            }
             t_width  >>= 1;
             t_height >>= 1;
         }