Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: James Almer <jamrial@gmail.com>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH 2/5] avcodec/xpmdec: Check size before allocation to avoid truncation
Date: Thu, 12 Jan 2023 21:11:35 -0300
Message-ID: <8b9a4802-58fe-3009-2002-b3b6cddc4d19@gmail.com> (raw)
In-Reply-To: <20230113000138.9994-2-michael@niedermayer.cc>



On 1/12/2023 9:01 PM, Michael Niedermayer wrote:
> Fixes:OOM
> Fixes:out of array access (no testcase)
> Fixes: 48567/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_XPM_fuzzer-6573323838685184
> 
> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
>   libavcodec/xpmdec.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/libavcodec/xpmdec.c b/libavcodec/xpmdec.c
> index ff1f51dd32..504cc47d8f 100644
> --- a/libavcodec/xpmdec.c
> +++ b/libavcodec/xpmdec.c
> @@ -356,6 +356,9 @@ static int xpm_decode_frame(AVCodecContext *avctx, AVFrame *p,
>   
>       size *= 4;
>   
> +    if (size > SIZE_MAX)
> +        return AVERROR(ENOMEM);

Maybe check for (size > SIZE_MAX / 4) before the multiplication above 
instead.

> +
>       ptr += mod_strcspn(ptr, ",") + 1;
>       if (end - ptr < 1)
>           return AVERROR_INVALIDDATA;
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

  reply	other threads:[~2023-01-13  0:11 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-13  0:01 [FFmpeg-devel] [PATCH 1/5] avcodec/wbmpdec: use remaining size not whole size Michael Niedermayer
2023-01-13  0:01 ` [FFmpeg-devel] [PATCH 2/5] avcodec/xpmdec: Check size before allocation to avoid truncation Michael Niedermayer
2023-01-13  0:11   ` James Almer [this message]
2023-01-13 20:49     ` Michael Niedermayer
2023-01-13 20:53       ` James Almer
2023-01-13 20:56         ` Michael Niedermayer
2023-01-13  0:01 ` [FFmpeg-devel] [PATCH 3/5] avcodec/012v: Order operations for odd size handling Michael Niedermayer
2023-01-16  8:19   ` Paul B Mahol
2023-01-13  0:01 ` [FFmpeg-devel] [PATCH 4/5] avcodec/motionpixels: Mask pixels to valid values Michael Niedermayer
2023-02-23 22:35   ` Michael Niedermayer
2023-01-13  0:01 ` [FFmpeg-devel] [PATCH 5/5] avcodec/sonic: avoid integer overflow on quantization parameter Michael Niedermayer
2023-01-13 10:15   ` Paul B Mahol
2023-01-15  2:44 ` [FFmpeg-devel] [PATCH 1/5] avcodec/wbmpdec: use remaining size not whole size Peter Ross
2023-01-15 17:12   ` Michael Niedermayer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8b9a4802-58fe-3009-2002-b3b6cddc4d19@gmail.com \
    --to=jamrial@gmail.com \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git