From: Zhushuai Yin <yinzhushuai@huawei.com> Multiplying two u32 values and assigning the result to a left-hand u64 value carries a risk of overflow, so the right-hand value needs to be explicitly cast to u64. Signed-off-by: Zhushuai Yin <yinzhushuai@huawei.com> --- v1/wd_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v1/wd_util.c b/v1/wd_util.c index eae148b..cb9c960 100644 --- a/v1/wd_util.c +++ b/v1/wd_util.c @@ -156,7 +156,7 @@ void wd_free_id(__u8 *buf, __u32 size, __u32 id, __u32 id_max) int wd_init_cookie_pool(struct wd_cookie_pool *pool, __u32 cookies_size, __u32 cookies_num) { - __u64 total_size = cookies_size * cookies_num; + __u64 total_size = (__u64)cookies_size * cookies_num; pool->cookies = calloc(1, total_size + cookies_num); if (!pool->cookies) -- 2.43.0