From 1d02ce4f3793e51d16d1653c562d051755e24ee2 Mon Sep 17 00:00:00 2001 From: Peiwei Hu Date: Wed, 15 Dec 2021 16:24:21 +0800 Subject: X509_STORE_new: memory needs to be freed Reviewed-by: Paul Dale Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/17278) (cherry picked from commit c81eed84e4e9025e933778f5e8326b1e4435e094) --- demos/smime/smver.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'demos/smime') diff --git a/demos/smime/smver.c b/demos/smime/smver.c index 601462a041..5d552b1808 100644 --- a/demos/smime/smver.c +++ b/demos/smime/smver.c @@ -27,16 +27,18 @@ int main(int argc, char **argv) /* Set up trusted CA certificate store */ st = X509_STORE_new(); + if (st == NULL) + goto err; /* Read in signer certificate and private key */ tbio = BIO_new_file("cacert.pem", "r"); - if (!tbio) + if (tbio == NULL) goto err; cacert = PEM_read_bio_X509(tbio, NULL, 0, NULL); - if (!cacert) + if (cacert == NULL) goto err; if (!X509_STORE_add_cert(st, cacert)) @@ -46,18 +48,18 @@ int main(int argc, char **argv) in = BIO_new_file("smout.txt", "r"); - if (!in) + if (in == NULL) goto err; /* Sign content */ p7 = SMIME_read_PKCS7(in, &cont); - if (!p7) + if (p7 == NULL) goto err; /* File to output verified content to */ out = BIO_new_file("smver.txt", "w"); - if (!out) + if (out == NULL) goto err; if (!PKCS7_verify(p7, NULL, st, cont, out, 0)) { @@ -74,6 +76,8 @@ int main(int argc, char **argv) fprintf(stderr, "Error Verifying Data\n"); ERR_print_errors_fp(stderr); } + + X509_STORE_free(st); PKCS7_free(p7); X509_free(cacert); BIO_free(in); -- cgit v1.2.3