Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4145)
{
STACK_OF(X509) *ocerts = NULL;
X509 *x = NULL;
{
STACK_OF(X509) *ocerts = NULL;
X509 *x = NULL;
+
+ if (pkey)
+ *pkey = NULL;
+ if (cert)
+ *cert = NULL;
+
/* Check for NULL PKCS12 structure */
if (!p12) {
/* Check for NULL PKCS12 structure */
if (!p12) {
- if (pkey)
- *pkey = NULL;
- if (cert)
- *cert = NULL;
-
if (!ocerts) {
PKCS12err(PKCS12_F_PKCS12_PARSE, ERR_R_MALLOC_FAILURE);
if (!ocerts) {
PKCS12err(PKCS12_F_PKCS12_PARSE, ERR_R_MALLOC_FAILURE);
}
if (!parse_pk12(p12, pass, -1, pkey, ocerts)) {
}
if (!parse_pk12(p12, pass, -1, pkey, ocerts)) {
+ *pkey = NULL;
+ }
+ if (cert) {
X509_free(x);
sk_X509_pop_free(ocerts, X509_free);
return 0;
X509_free(x);
sk_X509_pop_free(ocerts, X509_free);
return 0;