summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorJiasheng Jiang <jiasheng@iscas.ac.cn>2022-02-17 17:47:00 +0800
committerPauli <pauli@openssl.org>2022-02-24 11:24:51 +1100
commit18cb1740cc0fd11940836fa2fcaf6d3634c00e90 (patch)
tree07a02a104b8d8bf3ce1cdca187adb0e87a66f462 /test
parentcf21d1c62dcd92be624ea0fb8a86d91e4fbeed93 (diff)
test/crltest.c: Add check for glue2bio
As the glue2bio() could return NULL pointer if fails, it should be better to check the return value in order to avoid the use of NULL pointer. Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17718)
Diffstat (limited to 'test')
-rw-r--r--test/crltest.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/test/crltest.c b/test/crltest.c
index 3b76f4f0ae..2c0a8153c6 100644
--- a/test/crltest.c
+++ b/test/crltest.c
@@ -200,9 +200,16 @@ static BIO *glue2bio(const char **pem, char **out)
*/
static X509_CRL *CRL_from_strings(const char **pem)
{
+ X509_CRL *crl;
char *p;
BIO *b = glue2bio(pem, &p);
- X509_CRL *crl = PEM_read_bio_X509_CRL(b, NULL, NULL, NULL);
+
+ if (b == NULL) {
+ OPENSSL_free(p);
+ return NULL;
+ }
+
+ crl = PEM_read_bio_X509_CRL(b, NULL, NULL, NULL);
OPENSSL_free(p);
BIO_free(b);
@@ -214,9 +221,16 @@ static X509_CRL *CRL_from_strings(const char **pem)
*/
static X509 *X509_from_strings(const char **pem)
{
+ X509 *x;
char *p;
BIO *b = glue2bio(pem, &p);
- X509 *x = PEM_read_bio_X509(b, NULL, NULL, NULL);
+
+ if (b == NULL) {
+ OPENSSL_free(p);
+ return NULL;
+ }
+
+ x = PEM_read_bio_X509(b, NULL, NULL, NULL);
OPENSSL_free(p);
BIO_free(b);
@@ -363,6 +377,12 @@ static int test_reuse_crl(void)
char *p;
BIO *b = glue2bio(kRevokedCRL, &p);
+ if (b == NULL) {
+ OPENSSL_free(p);
+ X509_CRL_free(reused_crl);
+ return 0;
+ }
+
reused_crl = PEM_read_bio_X509_CRL(b, &reused_crl, NULL, NULL);
OPENSSL_free(p);