summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Friedl <markus@cvs.openbsd.org>2003-02-21 12:39:18 +0000
committerMarkus Friedl <markus@cvs.openbsd.org>2003-02-21 12:39:18 +0000
commitc9754758efb45bd132b65bc5e1b48e951fd94342 (patch)
treef23cd428d503845dbadb80094c64e82283c5bec8
parente3804e211ba107be829af9f317a5ca7650eeea71 (diff)
check for size < 0 when allocating memory, from openssl (-r1.34)
-rw-r--r--lib/libssl/src/crypto/mem.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/libssl/src/crypto/mem.c b/lib/libssl/src/crypto/mem.c
index a7826908e61..87d0ebc7144 100644
--- a/lib/libssl/src/crypto/mem.c
+++ b/lib/libssl/src/crypto/mem.c
@@ -251,6 +251,8 @@ void *CRYPTO_malloc_locked(int num, const char *file, int line)
{
void *ret = NULL;
+ if (num < 0) return NULL;
+
allow_customize = 0;
if (malloc_debug_func != NULL)
{
@@ -283,6 +285,8 @@ void *CRYPTO_malloc(int num, const char *file, int line)
{
void *ret = NULL;
+ if (num < 0) return NULL;
+
allow_customize = 0;
if (malloc_debug_func != NULL)
{
@@ -306,6 +310,8 @@ void *CRYPTO_realloc(void *str, int num, const char *file, int line)
if (str == NULL)
return CRYPTO_malloc(num, file, line);
+ if (num < 0) return NULL;
+
if (realloc_debug_func != NULL)
realloc_debug_func(str, NULL, num, file, line, 0);
ret = realloc_ex_func(str,num,file,line);