diff options
author | sundb <sundbcn@gmail.com> | 2021-12-16 17:42:58 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-16 17:42:58 +0800 |
commit | c6657ef65bacc989a5ae1462062d41547fa84765 (patch) | |
tree | 859dfe063b7755339425c9ebbab3bdc55b4bf95f /alloc.h | |
parent | fd033e983acb69f7814255e7836f255411e17007 (diff) | |
parent | da5a4ff3622e8744b772a76f6ce580dc9134fb38 (diff) |
Merge branch 'redis:master' into master
Diffstat (limited to 'alloc.h')
-rw-r--r-- | alloc.h | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -32,6 +32,7 @@ #define HIREDIS_ALLOC_H #include <stddef.h> /* for size_t */ +#include <stdint.h> #ifdef __cplusplus extern "C" { @@ -59,6 +60,10 @@ static inline void *hi_malloc(size_t size) { } static inline 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); } |