Commit 5dc94924 authored by Michael Niedermayer's avatar Michael Niedermayer

avcodec/clearvideo: fix invalid shift in tile size check

Fixes: left shift of 1 by 31 places cannot be represented in type 'int'
Fixes: 15631/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CLEARVIDEO_fuzzer-5690110605000704

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpegSigned-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent c3ef24d9
...@@ -665,7 +665,7 @@ static av_cold int clv_decode_init(AVCodecContext *avctx) ...@@ -665,7 +665,7 @@ static av_cold int clv_decode_init(AVCodecContext *avctx)
} }
c->tile_shift = av_log2(c->tile_size); c->tile_shift = av_log2(c->tile_size);
if (1 << c->tile_shift != c->tile_size) { if (1U << c->tile_shift != c->tile_size) {
av_log(avctx, AV_LOG_ERROR, "Tile size: %d, is not power of 2.\n", c->tile_size); av_log(avctx, AV_LOG_ERROR, "Tile size: %d, is not power of 2.\n", c->tile_size);
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment