From 724e2f4090af420adfc6c2356823954c10fd0aa7 Mon Sep 17 00:00:00 2001 From: Daniel Schnell Date: Thu, 9 Sep 2021 11:26:04 +0000 Subject: [PATCH] walloc: fix size type from int => size_t size_t is used for most moderm implementations of malloc, calloc, etc. Using int leads to issues, if there are really large chunks of memory used such as e.g. for 3.2 GB: Building clunits/ldom index WALLOC: failed to malloc -1094967296 bytes Signed-off-by: Daniel Schnell --- include/EST_walloc.h | 7 ++++--- utils/walloc.c | 12 ++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/include/EST_walloc.h b/include/EST_walloc.h index 206f1e3..bd496c3 100644 --- a/include/EST_walloc.h +++ b/include/EST_walloc.h @@ -38,14 +38,15 @@ /*=======================================================================*/ #if !defined(__EST_WALLOC_H__) +#include #if defined(__cplusplus) extern "C" { #endif -void *safe_walloc(int size); -void *safe_wcalloc(int size); -void *safe_wrealloc(void *ptr, int size); +void *safe_walloc(size_t size); +void *safe_wcalloc(size_t size); +void *safe_wrealloc(void *ptr, size_t size); #define walloc(TYPE,SIZE) ((TYPE *)safe_walloc(sizeof(TYPE)*(SIZE))) #define wcalloc(TYPE,SIZE) ((TYPE *)safe_wcalloc(sizeof(TYPE)*(SIZE))) #define wrealloc(PTR,TYPE,SIZE) ((TYPE *)safe_wrealloc((void *)(PTR), sizeof(TYPE)*(SIZE))) diff --git a/utils/walloc.c b/utils/walloc.c index 462ce0e..5dc9ed4 100644 --- a/utils/walloc.c +++ b/utils/walloc.c @@ -51,15 +51,15 @@ /* use the debug malloc in flite */ #include "cst_alloc.h" -void *safe_walloc(int size) +void *safe_walloc(size_t size) { return cst_safe_alloc(size); } -void *safe_wrealloc(void *ptr, int size) +void *safe_wrealloc(void *ptr, size_t size) { return cst_safe_realloc(ptr,size); } -void *safe_wcalloc(int size) +void *safe_wcalloc(size_t size) { return cst_safe_calloc(size); } @@ -81,7 +81,7 @@ void debug_memory_summary(void) } #else -void *safe_walloc(int size) +void *safe_walloc(size_t size) { char *p; @@ -103,7 +103,7 @@ void *safe_walloc(int size) return p; } -void *safe_wrealloc(void *ptr, int size) +void *safe_wrealloc(void *ptr, size_t size) { char *p; @@ -127,7 +127,7 @@ void *safe_wrealloc(void *ptr, int size) return p; } -void *safe_wcalloc(int size) +void *safe_wcalloc(size_t size) { char *p = safe_walloc(size);