From e98dfeb27c2a82673d7f1782705f6694ec9062ca Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 23 Feb 2017 23:13:24 +0100 Subject: [PATCH] avcodec/jpeglsdec: check shift for values that cause overflow later Fixes: 657/clusterfuzz-testcase-6674741433729024 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer --- libavcodec/jpeglsdec.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavcodec/jpeglsdec.c b/libavcodec/jpeglsdec.c index 68151cbbd8..c8550e47ea 100644 --- a/libavcodec/jpeglsdec.c +++ b/libavcodec/jpeglsdec.c @@ -375,6 +375,11 @@ int ff_jpegls_decode_picture(MJpegDecodeContext *s, int near, else shift = point_transform + (16 - s->bits); + if (shift >= 16) { + ret = AVERROR_INVALIDDATA; + goto end; + } + if (s->avctx->debug & FF_DEBUG_PICT_INFO) { av_log(s->avctx, AV_LOG_DEBUG, "JPEG-LS params: %ix%i NEAR=%i MV=%i T(%i,%i,%i) "