diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2021-02-14 19:43:56 +0100 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2021-02-19 07:45:39 +0100 |
commit | 39df279c741928c6adf223890ff19b457f96b9bf (patch) | |
tree | dc14860c289c401572c7d26f191a99dd2d36190d | |
parent | 1a555d3c604804dcedacd230d410cfc822da3f4c (diff) | |
download | ffmpeg-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.c | 3 |
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; |