diff options
| author | miod <> | 2015-02-08 22:20:18 +0000 |
|---|---|---|
| committer | miod <> | 2015-02-08 22:20:18 +0000 |
| commit | a1918546eec67821a5ec4faa22339a9b78e4290c (patch) | |
| tree | 65ee060fa04d8aa1dfd7500c7c351b1b76f57228 /src | |
| parent | c7176339f6d9d9e973ce8abe704b565b2ca0d822 (diff) | |
| download | openbsd-a1918546eec67821a5ec4faa22339a9b78e4290c.tar.gz openbsd-a1918546eec67821a5ec4faa22339a9b78e4290c.tar.bz2 openbsd-a1918546eec67821a5ec4faa22339a9b78e4290c.zip | |
Check memory allocation results in EVP_PBE_alg_add_type().
ok doug@ jsing@
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/evp/evp_pbe.c | 13 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/evp/evp_pbe.c | 13 |
2 files changed, 20 insertions, 6 deletions
diff --git a/src/lib/libcrypto/evp/evp_pbe.c b/src/lib/libcrypto/evp/evp_pbe.c index ac593549e5..0787e2dc94 100644 --- a/src/lib/libcrypto/evp/evp_pbe.c +++ b/src/lib/libcrypto/evp/evp_pbe.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: evp_pbe.c,v 1.22 2014/10/28 05:46:56 miod Exp $ */ | 1 | /* $OpenBSD: evp_pbe.c,v 1.23 2015/02/08 22:20:18 miod Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 1999. | 3 | * project 1999. |
| 4 | */ | 4 | */ |
| @@ -203,9 +203,16 @@ EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid, int md_nid, | |||
| 203 | { | 203 | { |
| 204 | EVP_PBE_CTL *pbe_tmp; | 204 | EVP_PBE_CTL *pbe_tmp; |
| 205 | 205 | ||
| 206 | if (!pbe_algs) | 206 | if (pbe_algs == NULL) { |
| 207 | pbe_algs = sk_EVP_PBE_CTL_new(pbe_cmp); | 207 | pbe_algs = sk_EVP_PBE_CTL_new(pbe_cmp); |
| 208 | if (!(pbe_tmp = (EVP_PBE_CTL*)malloc(sizeof(EVP_PBE_CTL)))) { | 208 | if (pbe_algs == NULL) { |
| 209 | EVPerr(EVP_F_EVP_PBE_ALG_ADD_TYPE, | ||
| 210 | ERR_R_MALLOC_FAILURE); | ||
| 211 | return 0; | ||
| 212 | } | ||
| 213 | } | ||
| 214 | pbe_tmp = malloc(sizeof(EVP_PBE_CTL)); | ||
| 215 | if (pbe_tmp == NULL) { | ||
| 209 | EVPerr(EVP_F_EVP_PBE_ALG_ADD_TYPE, ERR_R_MALLOC_FAILURE); | 216 | EVPerr(EVP_F_EVP_PBE_ALG_ADD_TYPE, ERR_R_MALLOC_FAILURE); |
| 210 | return 0; | 217 | return 0; |
| 211 | } | 218 | } |
diff --git a/src/lib/libssl/src/crypto/evp/evp_pbe.c b/src/lib/libssl/src/crypto/evp/evp_pbe.c index ac593549e5..0787e2dc94 100644 --- a/src/lib/libssl/src/crypto/evp/evp_pbe.c +++ b/src/lib/libssl/src/crypto/evp/evp_pbe.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: evp_pbe.c,v 1.22 2014/10/28 05:46:56 miod Exp $ */ | 1 | /* $OpenBSD: evp_pbe.c,v 1.23 2015/02/08 22:20:18 miod Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 1999. | 3 | * project 1999. |
| 4 | */ | 4 | */ |
| @@ -203,9 +203,16 @@ EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid, int md_nid, | |||
| 203 | { | 203 | { |
| 204 | EVP_PBE_CTL *pbe_tmp; | 204 | EVP_PBE_CTL *pbe_tmp; |
| 205 | 205 | ||
| 206 | if (!pbe_algs) | 206 | if (pbe_algs == NULL) { |
| 207 | pbe_algs = sk_EVP_PBE_CTL_new(pbe_cmp); | 207 | pbe_algs = sk_EVP_PBE_CTL_new(pbe_cmp); |
| 208 | if (!(pbe_tmp = (EVP_PBE_CTL*)malloc(sizeof(EVP_PBE_CTL)))) { | 208 | if (pbe_algs == NULL) { |
| 209 | EVPerr(EVP_F_EVP_PBE_ALG_ADD_TYPE, | ||
| 210 | ERR_R_MALLOC_FAILURE); | ||
| 211 | return 0; | ||
| 212 | } | ||
| 213 | } | ||
| 214 | pbe_tmp = malloc(sizeof(EVP_PBE_CTL)); | ||
| 215 | if (pbe_tmp == NULL) { | ||
| 209 | EVPerr(EVP_F_EVP_PBE_ALG_ADD_TYPE, ERR_R_MALLOC_FAILURE); | 216 | EVPerr(EVP_F_EVP_PBE_ALG_ADD_TYPE, ERR_R_MALLOC_FAILURE); |
| 210 | return 0; | 217 | return 0; |
| 211 | } | 218 | } |
