[FFmpeg-devel] [PATCH 6/6] avcodec/bonk: Check ntaps against buffer size

Paul B Mahol onemda at gmail.com
Wed Jan 11 23:06:19 EET 2023


On 1/11/23, Michael Niedermayer <michael at niedermayer.cc> wrote:
> Fixes: out of array read
> Fixes:
> 48567/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_BONK_fuzzer-6739246658748416
>
> Note: This issue was assigned to a unrelated theora bug
>
> 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/bonk.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/libavcodec/bonk.c b/libavcodec/bonk.c
> index 9e176d5477..061cc69a58 100644
> --- a/libavcodec/bonk.c
> +++ b/libavcodec/bonk.c
> @@ -101,6 +101,10 @@ static av_cold int bonk_init(AVCodecContext *avctx)
>      s->samples_per_packet = AV_RL16(avctx->extradata + 15);
>      if (!s->samples_per_packet)
>          return AVERROR(EINVAL);
> +
> +    if (s->down_sampling * s->samples_per_packet < s->n_taps)
> +        return AVERROR_INVALIDDATA;
> +
>      s->max_framesize = s->samples_per_packet * avctx->ch_layout.nb_channels
> * s->down_sampling * 16LL;
>      if (s->max_framesize > (INT32_MAX - AV_INPUT_BUFFER_PADDING_SIZE) / 8)
>          return AVERROR_INVALIDDATA;
> --
> 2.17.1

LGTM

>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>


More information about the ffmpeg-devel mailing list