Import OpenSSL 1.1.0h
This commit is contained in:
@@ -34,6 +34,12 @@ int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
|
||||
{
|
||||
STACK_OF(X509) *ocerts = NULL;
|
||||
X509 *x = NULL;
|
||||
|
||||
if (pkey)
|
||||
*pkey = NULL;
|
||||
if (cert)
|
||||
*cert = NULL;
|
||||
|
||||
/* Check for NULL PKCS12 structure */
|
||||
|
||||
if (!p12) {
|
||||
@@ -42,11 +48,6 @@ int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (pkey)
|
||||
*pkey = NULL;
|
||||
if (cert)
|
||||
*cert = NULL;
|
||||
|
||||
/* Check the mac */
|
||||
|
||||
/*
|
||||
@@ -75,7 +76,7 @@ int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
|
||||
|
||||
if (!ocerts) {
|
||||
PKCS12err(PKCS12_F_PKCS12_PARSE, ERR_R_MALLOC_FAILURE);
|
||||
return 0;
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (!parse_pk12(p12, pass, -1, pkey, ocerts)) {
|
||||
@@ -111,10 +112,14 @@ int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
|
||||
|
||||
err:
|
||||
|
||||
if (pkey)
|
||||
if (pkey) {
|
||||
EVP_PKEY_free(*pkey);
|
||||
if (cert)
|
||||
*pkey = NULL;
|
||||
}
|
||||
if (cert) {
|
||||
X509_free(*cert);
|
||||
*cert = NULL;
|
||||
}
|
||||
X509_free(x);
|
||||
sk_X509_pop_free(ocerts, X509_free);
|
||||
return 0;
|
||||
|
||||
@@ -124,8 +124,8 @@ static int pkcs12_gen_mac(PKCS12 *p12, const char *pass, int passlen,
|
||||
PKCS12err(PKCS12_F_PKCS12_GEN_MAC, PKCS12_R_KEY_GEN_ERROR);
|
||||
return 0;
|
||||
}
|
||||
hmac = HMAC_CTX_new();
|
||||
if (!HMAC_Init_ex(hmac, key, md_size, md_type, NULL)
|
||||
if ((hmac = HMAC_CTX_new()) == NULL
|
||||
|| !HMAC_Init_ex(hmac, key, md_size, md_type, NULL)
|
||||
|| !HMAC_Update(hmac, p12->authsafes->d.data->data,
|
||||
p12->authsafes->d.data->length)
|
||||
|| !HMAC_Final(hmac, mac, maclen)) {
|
||||
|
||||
Reference in New Issue
Block a user