On Fri, Dec 18, 2020 at 08:45:32PM -0300, James Almer wrote: > On 12/18/2020 8:22 PM, Michael Niedermayer wrote: > > Fixes: signed integer overflow: 2147483640 + 8 cannot be represented in > > type 'int' > > Fixes: > > 28449/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-5686013259284480 > > > > Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > > --- > > libavcodec/hevc_ps.c | 6 +++++- > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c > > index ea6fd536c6..139f3deeda 100644 > > --- a/libavcodec/hevc_ps.c > > +++ b/libavcodec/hevc_ps.c > > @@ -816,7 +816,11 @@ static int scaling_list_data(GetBitContext *gb, > > AVCodecContext *avctx, ScalingLi > > next_coef = 8; > > coef_num = FFMIN(64, 1 << (4 + (size_id << 1))); > > if (size_id > 1) { > > - scaling_list_dc_coef[size_id - 2][matrix_id] = > > get_se_golomb(gb) + 8; > > + int scaling_list_coeff_minus8 = get_se_golomb(gb); > > + if (scaling_list_coeff_minus8 < -7 || > > + scaling_list_coeff_minus8 > 247) > > LGTM, this check is also done in CBS so i assume it's taken from the spec.
yes > > > + return AVERROR_INVALIDDATA; > > + scaling_list_dc_coef[size_id - 2][matrix_id] = > > scaling_list_coeff_minus8 + 8; > > Not strictly related to this patch, but this array could be made into an > uint8_t now. yes, will change that too thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB In fact, the RIAA has been known to suggest that students drop out of college or go to community college in order to be able to afford settlements. -- The RIAA
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".