]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/tiff: Do not overrun the array ends in dng_blit()
authorMichael Niedermayer <michael@niedermayer.cc>
Wed, 1 Jul 2020 21:05:22 +0000 (23:05 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 2 Jul 2020 15:14:31 +0000 (17:14 +0200)
Fixes: out of array access
Fixes: 23589/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-5110559589793792.fuzz
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/tiff.c

index dc24d055eca591945fd51591925213ea454a7767..d93a02b07eb6b5c4b7760dba0c5901c9c59c4891 100644 (file)
@@ -859,8 +859,11 @@ static void dng_blit(TiffContext *s, uint8_t *dst, int dst_stride,
             }
         } else {
             for (line = 0; line < height; line++) {
+                uint8_t *dst_u8 = dst;
+                const uint8_t *src_u8 = src;
+
                 for (col = 0; col < width; col++)
-                    *dst++ = dng_process_color8(*src++, s->dng_lut, s->black_level, scale_factor);
+                    *dst_u8++ = dng_process_color8(*src_u8++, s->dng_lut, s->black_level, scale_factor);
 
                 dst += dst_stride;
                 src += src_stride;