[FFmpeg-devel] [PATCH] avcodec/jpeg2000dec: error check when processing tlm marker

Paul B Mahol onemda at gmail.com
Tue Mar 24 23:16:30 EET 2020


On 3/24/20, gautamramk at gmail.com <gautamramk at gmail.com> wrote:
> From: Gautam Ramakrishnan <gautamramk at gmail.com>
>
> Validate the value of ST field in the TLM marker of JPEG2000.
> Throw an error when ST takes value of 0x11.
> ---
>  libavcodec/jpeg2000dec.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c
> index 019dc81f56..74d70b686f 100644
> --- a/libavcodec/jpeg2000dec.c
> +++ b/libavcodec/jpeg2000dec.c
> @@ -803,7 +803,11 @@ static uint8_t get_tlm(Jpeg2000DecoderContext *s, int
> n)
>
>      // too complex ? ST = ((Stlm >> 4) & 0x01) + ((Stlm >> 4) & 0x02);
>      ST = (Stlm >> 4) & 0x03;
> -    // TODO: Manage case of ST = 0b11 --> raise error
> +    if (ST == 0x11) {

0x11 is hex representation of 17 decimal number

above is &0x03 which is 3 in decimal, this ST can never be 0x11.
So patch in pointless.
IF you check for 3 instead does it break any existing files?

> +        av_log(s, AV_LOG_ERROR, "TLM marker contains invalid ST value.\n");
> +        return AVERROR_INVALIDDATA;
> +    }
> +
>      SP       = (Stlm >> 6) & 0x01;
>      tile_tlm = (n - 4) / ((SP + 1) * 2 + ST);
>      for (i = 0; i < tile_tlm; i++) {
> --
> 2.17.1
>
> _______________________________________________
> 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