提交 7f6dfa19 编写于 作者: M Matt Caswell

Add a test for a NULL X509_STORE in X509_STORE_CTX_init

Reviewed-by: NRichard Levitte <levitte@openssl.org>
Reviewed-by: NRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6001)
上级 1c705121
...@@ -138,6 +138,43 @@ static int test_alt_chains_cert_forgery(void) ...@@ -138,6 +138,43 @@ static int test_alt_chains_cert_forgery(void)
return ret; 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) int setup_tests(void)
{ {
if (!TEST_ptr(roots_f = test_get_argument(0)) if (!TEST_ptr(roots_f = test_get_argument(0))
...@@ -148,5 +185,6 @@ int setup_tests(void) ...@@ -148,5 +185,6 @@ int setup_tests(void)
} }
ADD_TEST(test_alt_chains_cert_forgery); ADD_TEST(test_alt_chains_cert_forgery);
ADD_TEST(test_store_ctx);
return 1; return 1;
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册