From e489846b7226958718ae91fa0c4999b420c706e2 Mon Sep 17 00:00:00 2001 From: michael-grunder Date: Thu, 7 Oct 2021 14:47:11 -0700 Subject: Minor refactor of CVE-2021-32765 fix. Since `hi_calloc` always passes through one of our wrapper functions, we can perform this overflow in the wrapper, and get protection everywhere. Previous commit: 76a7b10005c70babee357a7d0f2becf28ec7ed1e Related vuln ID: CVE-2021-32765 [Full Details](https://github.com/redis/hiredis/security/advisories/GHSA-hfm9-39pp-55p2) --- alloc.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'alloc.c') diff --git a/alloc.c b/alloc.c index 7fb6b35..0902286 100644 --- a/alloc.c +++ b/alloc.c @@ -68,6 +68,10 @@ void *hi_malloc(size_t size) { } void *hi_calloc(size_t nmemb, size_t size) { + /* Overflow check as the user can specify any arbitrary allocator */ + if (SIZE_MAX / size < nmemb) + return NULL; + return hiredisAllocFns.callocFn(nmemb, size); } -- cgit v1.2.3