[FFmpeg-devel] [PATCH 5/6] avcodec/ffv1dec: consider run increase in minimal golomb frame size

James Almer jamrial at gmail.com
Tue Jul 19 14:37:38 EEST 2022



On 7/19/2022 8:34 AM, Michael Niedermayer wrote:
> Fixes: Timeout
> Fixes: 49160/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FFV1_fuzzer-5672826144686080
> 
> 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/ffv1dec.c | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c
> index 01ddcaa512..9bdac0be4e 100644
> --- a/libavcodec/ffv1dec.c
> +++ b/libavcodec/ffv1dec.c
> @@ -883,7 +883,11 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *rframe,
>           if (buf_size < avctx->width * avctx->height / (128*8))
>               return AVERROR_INVALIDDATA;
>       } else {
> -        if (buf_size < avctx->height / 8)
> +        int i;

for (int i...

> +        int w = avctx->width;
> +        for (i = 0; w > (1<<ff_log2_run[i]); i++)
> +            w -= ff_log2_run[i];
> +        if (buf_size < (avctx->height + i + 6)/ 8)
>               return AVERROR_INVALIDDATA;
>       }
>   


More information about the ffmpeg-devel mailing list