summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorJiasheng Jiang <jiasheng@iscas.ac.cn>2022-02-18 09:15:50 +0800
committerDr. Matthias St. Pierre <matthias.st.pierre@ncp-e.com>2022-02-20 12:56:41 +0100
commit78c5f1266fdd859df04b0ce89e4dd849d9b590d7 (patch)
tree4950920b244d9d870ca65e07ec47ca367f6eb965 /test
parent4a4f446008938775c2bea3001c4c8e7a674992ad (diff)
test/mdc2test.c: Add check for OSSL_PROVIDER_load
Since the potential failure of the OSSL_PROVIDER_load(), for example there is no lock, the provider could fail to be loaded into the library context. Therefore, it should be better to check it and return error if fails. Also, in order to avoid free unknown pointer, 'c' should be initialized as NULL. Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/17729)
Diffstat (limited to 'test')
-rw-r--r--test/mdc2test.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/test/mdc2test.c b/test/mdc2test.c
index 619574fb04..c40e4b26ba 100644
--- a/test/mdc2test.c
+++ b/test/mdc2test.c
@@ -48,7 +48,7 @@ static int test_mdc2(void)
int testresult = 0;
unsigned int pad_type = 2;
unsigned char md[MDC2_DIGEST_LENGTH];
- EVP_MD_CTX *c;
+ EVP_MD_CTX *c = NULL;
static char text[] = "Now is the time for all ";
size_t tlen = strlen(text), i = 0;
OSSL_PROVIDER *prov = NULL;
@@ -59,6 +59,9 @@ static int test_mdc2(void)
params[i++] = OSSL_PARAM_construct_end();
prov = OSSL_PROVIDER_load(NULL, "legacy");
+ if (!TEST_ptr(prov))
+ goto end;
+
# ifdef CHARSET_EBCDIC
ebcdic2ascii(text, text, tlen);
# endif