aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2021-02-14 19:43:56 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2021-02-19 07:45:39 +0100
commit39df279c741928c6adf223890ff19b457f96b9bf (patch)
treedc14860c289c401572c7d26f191a99dd2d36190d
parent1a555d3c604804dcedacd230d410cfc822da3f4c (diff)
downloadffmpeg-39df279c741928c6adf223890ff19b457f96b9bf.tar.gz
avutil/video_enc_params: Combine overflow checks
This patch also fixes a -Wtautological-constant-out-of-range-compare warning from Clang and a -Wtype-limits warning from GCC on systems where size_t is 64bits and unsigned 32bits. The reason for this seems to be that variable (whose value derives from sizeof() and can therefore be known at compile-time) is used instead of using sizeof() directly in the comparison. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r--libavutil/video_enc_params.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/libavutil/video_enc_params.c b/libavutil/video_enc_params.c
index c46c0f1dc6..b9cdafddbb 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 > (SIZE_MAX - size) / sizeof(AVVideoBlockParams))
return NULL;
size += sizeof(AVVideoBlockParams) * nb_blocks;