summaryrefslogtreecommitdiffstats
path: root/crypto/cmp/cmp_msg.c
diff options
context:
space:
mode:
authorDr. David von Oheimb <David.von.Oheimb@siemens.com>2021-12-07 17:49:05 +0100
committerDr. David von Oheimb <dev@ddvo.net>2021-12-09 07:49:47 +0100
commit4ed2db591a42fb99401f9b0ff17f6644797ae743 (patch)
treef21379478e04182cf1b615e7ebd9e0d5e71880d6 /crypto/cmp/cmp_msg.c
parent35f45ae0078f9972a4ea887f59670a7e8f346f94 (diff)
OSSL_CMP_MSG_read(): Fix mem leak on file read error
Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17225) (cherry picked from commit d580c2790f9f304533a3eda2a9cf6b8eb22830c3)
Diffstat (limited to 'crypto/cmp/cmp_msg.c')
-rw-r--r--crypto/cmp/cmp_msg.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/crypto/cmp/cmp_msg.c b/crypto/cmp/cmp_msg.c
index 10ef4cd922..84a272fe2b 100644
--- a/crypto/cmp/cmp_msg.c
+++ b/crypto/cmp/cmp_msg.c
@@ -1100,9 +1100,8 @@ OSSL_CMP_MSG *OSSL_CMP_MSG_read(const char *file, OSSL_LIB_CTX *libctx,
return NULL;
}
- if ((bio = BIO_new_file(file, "rb")) == NULL)
- return NULL;
- if (d2i_OSSL_CMP_MSG_bio(bio, &msg) == NULL) {
+ if ((bio = BIO_new_file(file, "rb")) == NULL
+ || d2i_OSSL_CMP_MSG_bio(bio, &msg) == NULL) {
OSSL_CMP_MSG_free(msg);
msg = NULL;
}