[FFmpeg-devel] [PATCH 2/2] avcodec/jpeg2000dec: Fix division by zero in jp2_find_codestream()

Carl Eugen Hoyos ceffmpeg at gmail.com
Mon Jul 24 20:56:34 EEST 2017


2017-07-24 17:34 GMT+02:00 Michael Niedermayer <michael at niedermayer.cc>:
> Fixes: 2707/clusterfuzz-testcase-minimized-5179636394754048
>
> 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/jpeg2000dec.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c
> index b67efc76bb..dd9c60feb4 100644
> --- a/libavcodec/jpeg2000dec.c
> +++ b/libavcodec/jpeg2000dec.c
> @@ -2075,6 +2075,11 @@ static int jp2_find_codestream(Jpeg2000DecoderContext *s)
>                      hden = bytestream2_get_be16u(&s->g);
>                      vexp = bytestream2_get_byteu(&s->g);
>                      hexp = bytestream2_get_byteu(&s->g);
> +                    if (!vnum || !vden || !hnum || !vden) {
> +                        bytestream2_seek(&s->g, atom2_end, SEEK_SET);
> +                        av_log(s->avctx, AV_LOG_WARNING, "RES box invalid\n");
> +                        continue;
> +                    }

Thank you!

I believe it is possible to move the "resd"/"resc" check above down if you think
that simplifies the code.

Carl Eugen


More information about the ffmpeg-devel mailing list