evp_test: Add the missing check after calling OPENSSL_malloc
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Mon, 24 Jan 2022 03:06:34 +0000 (11:06 +0800)
committerTomas Mraz <tomas@openssl.org>
Tue, 25 Jan 2022 17:15:22 +0000 (18:15 +0100)
The OPENSSL_zalloc() could return NULL pointer if fails.
Add the check for it does make sense, like how digest_test_init() deals
with.

CLA: trivial

Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17571)

test/evp_test.c

index 871f2a9c6bb5eae17d81da30df1c27ac5c10f2f1..34caec2c5d90748fb27e504cab5801fd906c5777 100644 (file)
@@ -588,7 +588,9 @@ static int cipher_test_init(EVP_TEST *t, const char *alg)
     }
     ERR_clear_last_mark();
 
-    cdat = OPENSSL_zalloc(sizeof(*cdat));
+    if (!TEST_ptr(cdat = OPENSSL_zalloc(sizeof(*cdat))))
+        return 0;
+
     cdat->cipher = cipher;
     cdat->fetched_cipher = fetched_cipher;
     cdat->enc = -1;
@@ -1195,7 +1197,9 @@ static int mac_test_init(EVP_TEST *t, const char *alg)
             return 0;
     }
 
-    mdat = OPENSSL_zalloc(sizeof(*mdat));
+    if (!TEST_ptr(mdat = OPENSSL_zalloc(sizeof(*mdat))))
+        return 0;
+
     mdat->type = type;
     mdat->mac_name = OPENSSL_strdup(alg);
     mdat->mac = mac;