mirror of
https://github.com/openssl/openssl.git
synced 2024-11-27 05:21:51 +08:00
Add a test for a NULL X509_STORE in X509_STORE_CTX_init
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/6001)
This commit is contained in:
parent
1c705121af
commit
7f6dfa19df
@ -138,6 +138,43 @@ static int test_alt_chains_cert_forgery(void)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int test_store_ctx(void)
|
||||
{
|
||||
X509_STORE_CTX *sctx = NULL;
|
||||
X509 *x = NULL;
|
||||
BIO *bio = NULL;
|
||||
int testresult = 0, ret;
|
||||
|
||||
bio = BIO_new_file(bad_f, "r");
|
||||
if (bio == NULL)
|
||||
goto err;
|
||||
|
||||
x = PEM_read_bio_X509(bio, NULL, 0, NULL);
|
||||
if (x == NULL)
|
||||
goto err;
|
||||
|
||||
sctx = X509_STORE_CTX_new();
|
||||
if (sctx == NULL)
|
||||
goto err;
|
||||
|
||||
if (!X509_STORE_CTX_init(sctx, NULL, x, NULL))
|
||||
goto err;
|
||||
|
||||
/* Verifying a cert where we have no trusted certs should fail */
|
||||
ret = X509_verify_cert(sctx);
|
||||
|
||||
if (ret == 0) {
|
||||
/* This is the result we were expecting: Test passed */
|
||||
testresult = 1;
|
||||
}
|
||||
|
||||
err:
|
||||
X509_STORE_CTX_free(sctx);
|
||||
X509_free(x);
|
||||
BIO_free(bio);
|
||||
return testresult;
|
||||
}
|
||||
|
||||
int setup_tests(void)
|
||||
{
|
||||
if (!TEST_ptr(roots_f = test_get_argument(0))
|
||||
@ -148,5 +185,6 @@ int setup_tests(void)
|
||||
}
|
||||
|
||||
ADD_TEST(test_alt_chains_cert_forgery);
|
||||
ADD_TEST(test_store_ctx);
|
||||
return 1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user