From: Jiasheng Jiang Date: Thu, 17 Feb 2022 09:47:00 +0000 (+0800) Subject: test/crltest.c: Add check for glue2bio X-Git-Tag: openssl-3.2.0-alpha1~2911 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=18cb1740cc0fd11940836fa2fcaf6d3634c00e90;p=thirdparty%2Fopenssl.git 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 Reviewed-by: Tomas Mraz Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/17718) --- diff --git a/test/crltest.c b/test/crltest.c index 3b76f4f0ae5..2c0a8153c64 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);