[FFmpeg-devel] [PATCH v2] avutils/video_enc_params: fix type-limits compile warning on 64 bits build system
Nuo Mi
nuomi2021 at gmail.com
Sun Feb 14 18:57:25 EET 2021
On Mon, Feb 15, 2021 at 12:41 AM Nuo Mi <nuomi2021 at gmail.com> wrote:
> This will fix following compile warning:
>
> libavutil/video_enc_params.c: In function ‘av_video_enc_params_alloc:
>
>
> libavutil/video_enc_params.c:36:19: warning: comparison is
> always false due to limited range of data type [-Wtype-limits]
>
> 36 | if (nb_blocks > SIZE_MAX /
> sizeof(AVVideoBlockParams) ||
>
> | ^
> ---
> libavutil/video_enc_params.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/libavutil/video_enc_params.c b/libavutil/video_enc_params.c
> index c46c0f1dc6..2606b5589a 100644
> --- a/libavutil/video_enc_params.c
> +++ b/libavutil/video_enc_params.c
> @@ -33,7 +33,11 @@ AVVideoEncParams *av_video_enc_params_alloc(enum
> AVVideoEncParamsType type,
> size_t size;
>
> size = sizeof(*par);
> - if (nb_blocks > SIZE_MAX / sizeof(AVVideoBlockParams) ||
> + if (
> +#if SIZE_MAX <= UINT_MAX
> + //check the overflow
> + nb_blocks > SIZE_MAX / sizeof(AVVideoBlockParams) ||
> +#endif
> nb_blocks * sizeof(AVVideoBlockParams) > SIZE_MAX - size)
> return NULL;
> size += sizeof(AVVideoBlockParams) * nb_blocks;
Hi Anton,
The code never overflow on a 64 bits machine.
How about we add a #ifdef like this?
thanks
>
--
> 2.25.1
>
>
More information about the ffmpeg-devel
mailing list