Andreas Rheinhardt:
> This check is outdated because the caller doesn't need to check that
> the multiplication overflows when using av_realloc_array() (the code
> in question used av_realloc() before that); furthermore, the check
> is also a remnant of the time in which our allocation functions
> didn't use size_t parameters.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@gmail.com>
> ---
> It would btw make more sense for AVFormatContext.max_streams to be
> unsigned.
> 
>  libavformat/utils.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/libavformat/utils.c b/libavformat/utils.c
> index 524765aeb4..88f6f18f1f 100644
> --- a/libavformat/utils.c
> +++ b/libavformat/utils.c
> @@ -4493,9 +4493,10 @@ AVStream *avformat_new_stream(AVFormatContext *s, 
> const AVCodec *c)
>      int i;
>      AVStream **streams;
>  
> -    if (s->nb_streams >= FFMIN(s->max_streams, INT_MAX/sizeof(*streams))) {
> -        if (s->max_streams < INT_MAX/sizeof(*streams))
> -            av_log(s, AV_LOG_ERROR, "Number of streams exceeds max_streams 
> parameter (%d), see the documentation if you wish to increase it\n", 
> s->max_streams);
> +    if (s->nb_streams >= s->max_streams) {
> +        av_log(s, AV_LOG_ERROR, "Number of streams exceeds max_streams 
> parameter"
> +               " (%d), see the documentation if you wish to increase it\n",
> +               s->max_streams);
>          return NULL;
>      }
>      streams = av_realloc_array(s->streams, s->nb_streams + 1, 
> sizeof(*streams));
> 
Will apply this patchset tomorrow unless there are objections.

- Andreas
_______________________________________________
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