avcodec/tiff: reset sampling[] if its invalid
authorMichael Niedermayer <michael@niedermayer.cc>
Mon, 15 May 2017 19:19:06 +0000 (21:19 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Tue, 16 May 2017 00:23:18 +0000 (02:23 +0200)
Fixes divission by 0
Fixes: clusterfuzz-testcase-minimized-5592896440893440

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

index c8e24e3..680269b 100644 (file)
@@ -1033,6 +1033,7 @@ static int tiff_decode_tag(TiffContext *s, AVFrame *frame)
             s->subsampling[i] = ff_tget(&s->gb, type, s->le);
             if (s->subsampling[i] <= 0) {
                 av_log(s->avctx, AV_LOG_ERROR, "subsampling %d is invalid\n", s->subsampling[i]);
+                s->subsampling[i] = 1;
                 return AVERROR_INVALIDDATA;
             }
         }