[FFmpeg-devel] [PATCH 5/9] avcodec/cbs_h266_syntax_template: Check bit depth with range extension
James Almer
jamrial at gmail.com
Fri Sep 20 02:53:07 EEST 2024
On 9/19/2024 7:56 PM, Michael Niedermayer wrote:
> Fixes: shift exponent 62 is too large for 32-bit type 'int'
> Fixes: 71020/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VVC_fuzzer-6444916325023744
>
> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
> libavcodec/cbs_h266_syntax_template.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/libavcodec/cbs_h266_syntax_template.c b/libavcodec/cbs_h266_syntax_template.c
> index a8f5af04d02..1c111126563 100644
> --- a/libavcodec/cbs_h266_syntax_template.c
> +++ b/libavcodec/cbs_h266_syntax_template.c
> @@ -1041,6 +1041,9 @@ static int FUNC(sps_range_extension)(CodedBitstreamContext *ctx, RWContext *rw,
> {
> int err;
>
> + if (current->sps_bitdepth_minus8 < 10)
sps_bitdepth_minus8 can only be between 0 and 8, so this is basically
making it abort on any and every sample with SPS range extension.
Also, it doesn't seem to be used here at all, so i don't see how this is
fixing anything. Can you share the sample?
> + return AVERROR_INVALIDDATA;
> +
> flag(sps_extended_precision_flag);
> if (current->sps_transform_skip_enabled_flag)
> flag(sps_ts_residual_coding_rice_present_in_sh_flag);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20240919/08b4ecc7/attachment.sig>
More information about the ffmpeg-devel
mailing list