On Sat, Jul 24, 2021 at 6:09 AM Andreas Rheinhardt <
andreas.rheinha...@outlook.com> wrote:

> mov_read_stsz() did not ensure that every bit of a buffer is addressable
> by an int as is required by the get_bits API, leading to a crash in
> ticket #9344. Fix this by restricting the size more thoroughly.
>
> The file from said ticket will then be considered invalid; in the
> future, we might read and process the data in chunks to actually support
> such files.
>
> Fixes ticket #9344.
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com>
> ---
> The commit message is written as if it were certain that this
> indeed fixes the ticket, despite me not knowing it yet (as the sample
> in question is not public).
> The above is intended as a quick fix that is easy to backport;
> supporting such files can be done later.
>
>  libavformat/mov.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavformat/mov.c b/libavformat/mov.c
> index 3fc5a1e8ab..e0d805b07b 100644
> --- a/libavformat/mov.c
> +++ b/libavformat/mov.c
> @@ -2856,7 +2856,7 @@ static int mov_read_stsz(MOVContext *c, AVIOContext
> *pb, MOVAtom atom)
>
>      if (!entries)
>          return 0;
> -    if (entries >= (UINT_MAX - 4) / field_size)
> +    if (entries >= (INT_MAX - 4 - 8 * AV_INPUT_BUFFER_PADDING_SIZE) /
> field_size)
>          return AVERROR_INVALIDDATA;
>      if (sc->sample_sizes)
>          av_log(c->fc, AV_LOG_WARNING, "Duplicated STSZ atom\n");
> --
> 2.30.2
>

Is so big bit buffer really needed?

Why not check use init_get_bits8 directly and thus depends on its
implementation directly?


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

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

Reply via email to