[FFmpeg-devel] [PATCH] avutils/video_enc_params: remove unnecessary check to fix compile warning

Nuo Mi nuomi2021 at gmail.com
Sun Feb 14 08:26:56 EET 2021


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) ||                                                                                                                                                                               |                   ^

Suppose a is "nb_blocks > SIZE_MAX / sizeof(AVVideoBlockParams))"
b is "nb_blocks * sizeof(AVVideoBlockParams) > SIZE_MAX - sizw"
If a is true, b is true.
If a is false, the expression depends on b.
No matter a is true or not, it we only need check b.
---
 libavutil/video_enc_params.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/libavutil/video_enc_params.c b/libavutil/video_enc_params.c
index c46c0f1dc6..31bce6a277 100644
--- a/libavutil/video_enc_params.c
+++ b/libavutil/video_enc_params.c
@@ -33,8 +33,7 @@ AVVideoEncParams *av_video_enc_params_alloc(enum AVVideoEncParamsType type,
     size_t size;
 
     size = sizeof(*par);
-    if (nb_blocks > SIZE_MAX / sizeof(AVVideoBlockParams) ||
-        nb_blocks * sizeof(AVVideoBlockParams) > SIZE_MAX - size)
+    if (nb_blocks * sizeof(AVVideoBlockParams) > SIZE_MAX - size)
         return NULL;
     size += sizeof(AVVideoBlockParams) * nb_blocks;
 
-- 
2.25.1



More information about the ffmpeg-devel mailing list