From: Loganaden Velvindron <loganaden@gmail.com>
Date: Wed, 22 Apr 2015 15:16:30 +0000 (+0100)
Subject: Fix CRYPTO_strdup
X-Git-Tag: OpenSSL_1_0_0s~30
X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=50c2c64fe76c65f5dda8fb1180a435198c14fba7;p=oweals%2Fopenssl.git

Fix CRYPTO_strdup

The function CRYPTO_strdup (aka OPENSSL_strdup) fails to check the return
value from CRYPTO_malloc to see if it is NULL before attempting to use it.
This patch adds a NULL check.

RT3786

Signed-off-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit 37b0cf936744d9edb99b5dd82cae78a7eac6ad60)

Reviewed-by: Rich Salz <rsalz@openssl.org>
(cherry picked from commit 20d21389c8b6f5b754573ffb6a4dc4f3986f2ca4)
---

diff --git a/crypto/mem.c b/crypto/mem.c
index 628b650216..5cbf474774 100644
--- a/crypto/mem.c
+++ b/crypto/mem.c
@@ -358,6 +358,9 @@ char *CRYPTO_strdup(const char *str, const char *file, int line)
 {
     char *ret = CRYPTO_malloc(strlen(str) + 1, file, line);
 
+    if (ret == NULL)
+        return NULL;
+
     strcpy(ret, str);
     return ret;
 }