Check memory allocation
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit 8cf9d71a3a
)
This commit is contained in:
parent
43679fc35e
commit
a8bd9f90ed
1 changed files with 12 additions and 4 deletions
|
@ -228,12 +228,16 @@ int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid,
|
||||||
int md_nid, EVP_PBE_KEYGEN *keygen)
|
int md_nid, EVP_PBE_KEYGEN *keygen)
|
||||||
{
|
{
|
||||||
EVP_PBE_CTL *pbe_tmp;
|
EVP_PBE_CTL *pbe_tmp;
|
||||||
if (!pbe_algs)
|
|
||||||
|
if (pbe_algs == NULL) {
|
||||||
pbe_algs = sk_EVP_PBE_CTL_new(pbe_cmp);
|
pbe_algs = sk_EVP_PBE_CTL_new(pbe_cmp);
|
||||||
if (!(pbe_tmp = (EVP_PBE_CTL *)OPENSSL_malloc(sizeof(EVP_PBE_CTL)))) {
|
if (pbe_algs == NULL)
|
||||||
EVPerr(EVP_F_EVP_PBE_ALG_ADD_TYPE, ERR_R_MALLOC_FAILURE);
|
goto err;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((pbe_tmp = OPENSSL_malloc(sizeof(*pbe_tmp))) == NULL)
|
||||||
|
goto err;
|
||||||
|
|
||||||
pbe_tmp->pbe_type = pbe_type;
|
pbe_tmp->pbe_type = pbe_type;
|
||||||
pbe_tmp->pbe_nid = pbe_nid;
|
pbe_tmp->pbe_nid = pbe_nid;
|
||||||
pbe_tmp->cipher_nid = cipher_nid;
|
pbe_tmp->cipher_nid = cipher_nid;
|
||||||
|
@ -242,6 +246,10 @@ int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid,
|
||||||
|
|
||||||
sk_EVP_PBE_CTL_push(pbe_algs, pbe_tmp);
|
sk_EVP_PBE_CTL_push(pbe_algs, pbe_tmp);
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
err:
|
||||||
|
EVPerr(EVP_F_EVP_PBE_ALG_ADD_TYPE, ERR_R_MALLOC_FAILURE);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md,
|
int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md,
|
||||||
|
|
Loading…
Reference in a new issue