diff options
Diffstat (limited to 'src/lib/libcrypto/pkcs12/p12_init.c')
-rw-r--r-- | src/lib/libcrypto/pkcs12/p12_init.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/lib/libcrypto/pkcs12/p12_init.c b/src/lib/libcrypto/pkcs12/p12_init.c index 5276b12669..eb837a78cf 100644 --- a/src/lib/libcrypto/pkcs12/p12_init.c +++ b/src/lib/libcrypto/pkcs12/p12_init.c | |||
@@ -76,17 +76,15 @@ PKCS12 *PKCS12_init (int mode) | |||
76 | if (!(pkcs12->authsafes->d.data = | 76 | if (!(pkcs12->authsafes->d.data = |
77 | M_ASN1_OCTET_STRING_new())) { | 77 | M_ASN1_OCTET_STRING_new())) { |
78 | PKCS12err(PKCS12_F_PKCS12_INIT,ERR_R_MALLOC_FAILURE); | 78 | PKCS12err(PKCS12_F_PKCS12_INIT,ERR_R_MALLOC_FAILURE); |
79 | goto err; | 79 | return NULL; |
80 | } | 80 | } |
81 | break; | 81 | break; |
82 | default: | 82 | default: |
83 | PKCS12err(PKCS12_F_PKCS12_INIT, | 83 | PKCS12err(PKCS12_F_PKCS12_INIT,PKCS12_R_UNSUPPORTED_PKCS12_MODE); |
84 | PKCS12_R_UNSUPPORTED_PKCS12_MODE); | 84 | PKCS12_free(pkcs12); |
85 | goto err; | 85 | return NULL; |
86 | break; | ||
86 | } | 87 | } |
87 | 88 | ||
88 | return pkcs12; | 89 | return pkcs12; |
89 | err: | ||
90 | if (pkcs12 != NULL) PKCS12_free(pkcs12); | ||
91 | return NULL; | ||
92 | } | 90 | } |