Make sure the memory allocation routines check for negative sizes
This commit is contained in:
parent
77e270d10e
commit
d5234c7b3a
10
crypto/mem.c
10
crypto/mem.c
@ -252,6 +252,8 @@ void *CRYPTO_malloc_locked(int num, const char *file, int line)
|
|||||||
void *ret = NULL;
|
void *ret = NULL;
|
||||||
extern unsigned char cleanse_ctr;
|
extern unsigned char cleanse_ctr;
|
||||||
|
|
||||||
|
if (num < 0) return NULL;
|
||||||
|
|
||||||
allow_customize = 0;
|
allow_customize = 0;
|
||||||
if (malloc_debug_func != NULL)
|
if (malloc_debug_func != NULL)
|
||||||
{
|
{
|
||||||
@ -291,6 +293,8 @@ void *CRYPTO_malloc(int num, const char *file, int line)
|
|||||||
void *ret = NULL;
|
void *ret = NULL;
|
||||||
extern unsigned char cleanse_ctr;
|
extern unsigned char cleanse_ctr;
|
||||||
|
|
||||||
|
if (num < 0) return NULL;
|
||||||
|
|
||||||
allow_customize = 0;
|
allow_customize = 0;
|
||||||
if (malloc_debug_func != NULL)
|
if (malloc_debug_func != NULL)
|
||||||
{
|
{
|
||||||
@ -319,6 +323,9 @@ void *CRYPTO_realloc(void *str, int num, const char *file, int line)
|
|||||||
|
|
||||||
if (str == NULL)
|
if (str == NULL)
|
||||||
return CRYPTO_malloc(num, file, line);
|
return CRYPTO_malloc(num, file, line);
|
||||||
|
|
||||||
|
if (num < 0) return NULL;
|
||||||
|
|
||||||
if (realloc_debug_func != NULL)
|
if (realloc_debug_func != NULL)
|
||||||
realloc_debug_func(str, NULL, num, file, line, 0);
|
realloc_debug_func(str, NULL, num, file, line, 0);
|
||||||
ret = realloc_ex_func(str,num,file,line);
|
ret = realloc_ex_func(str,num,file,line);
|
||||||
@ -338,6 +345,9 @@ void *CRYPTO_realloc_clean(void *str, int old_len, int num, const char *file,
|
|||||||
|
|
||||||
if (str == NULL)
|
if (str == NULL)
|
||||||
return CRYPTO_malloc(num, file, line);
|
return CRYPTO_malloc(num, file, line);
|
||||||
|
|
||||||
|
if (num < 0) return NULL;
|
||||||
|
|
||||||
if (realloc_debug_func != NULL)
|
if (realloc_debug_func != NULL)
|
||||||
realloc_debug_func(str, NULL, num, file, line, 0);
|
realloc_debug_func(str, NULL, num, file, line, 0);
|
||||||
ret=malloc_ex_func(num,file,line);
|
ret=malloc_ex_func(num,file,line);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user