[FFmpeg-cvslog] avcodec/tiff: Avoid abort with DNG RAW TIFF with YA8

Michael Niedermayer git at videolan.org
Wed Aug 26 21:32:00 EEST 2020


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Thu Aug 20 00:59:35 2020 +0200| [ca47402a06922f5280b4526007e32bf7847c7430] | committer: Michael Niedermayer

avcodec/tiff: Avoid abort with DNG RAW TIFF with YA8

Fixes: Assertion failure
Fixes: 24707/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-5179910197608448

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

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ca47402a06922f5280b4526007e32bf7847c7430
---

 libavcodec/tiff.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c
index 8c0b6f0853..8a5f6e030d 100644
--- a/libavcodec/tiff.c
+++ b/libavcodec/tiff.c
@@ -709,7 +709,7 @@ static int tiff_unpack_strip(TiffContext *s, AVFrame *p, uint8_t *dst, int strid
             if (is_dng) {
                 int is_u16, pixel_size_bytes, pixel_size_bits, elements;
 
-                is_u16 = (s->bpp > 8);
+                is_u16 = (s->bpp / s->bppcount > 8);
                 pixel_size_bits = (is_u16 ? 16 : 8);
                 pixel_size_bytes = (is_u16 ? sizeof(uint16_t) : sizeof(uint8_t));
 



More information about the ffmpeg-cvslog mailing list