diff options
Diffstat (limited to 'usr/src/common/openssl/crypto/pkcs12/p12_init.c')
-rw-r--r-- | usr/src/common/openssl/crypto/pkcs12/p12_init.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/usr/src/common/openssl/crypto/pkcs12/p12_init.c b/usr/src/common/openssl/crypto/pkcs12/p12_init.c index eb837a78cf..6bdc132631 100644 --- a/usr/src/common/openssl/crypto/pkcs12/p12_init.c +++ b/usr/src/common/openssl/crypto/pkcs12/p12_init.c @@ -62,7 +62,7 @@ /* Initialise a PKCS12 structure to take data */ -PKCS12 *PKCS12_init (int mode) +PKCS12 *PKCS12_init(int mode) { PKCS12 *pkcs12; if (!(pkcs12 = PKCS12_new())) { @@ -76,15 +76,17 @@ PKCS12 *PKCS12_init (int mode) if (!(pkcs12->authsafes->d.data = M_ASN1_OCTET_STRING_new())) { PKCS12err(PKCS12_F_PKCS12_INIT,ERR_R_MALLOC_FAILURE); - return NULL; + goto err; } break; default: - PKCS12err(PKCS12_F_PKCS12_INIT,PKCS12_R_UNSUPPORTED_PKCS12_MODE); - PKCS12_free(pkcs12); - return NULL; - break; + PKCS12err(PKCS12_F_PKCS12_INIT, + PKCS12_R_UNSUPPORTED_PKCS12_MODE); + goto err; } return pkcs12; +err: + if (pkcs12 != NULL) PKCS12_free(pkcs12); + return NULL; } |