diff options
Diffstat (limited to 'src/lib/libcrypto/evp/p5_crpt2.c')
| -rw-r--r-- | src/lib/libcrypto/evp/p5_crpt2.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/libcrypto/evp/p5_crpt2.c b/src/lib/libcrypto/evp/p5_crpt2.c index 632c2c76ce..44e8b331fb 100644 --- a/src/lib/libcrypto/evp/p5_crpt2.c +++ b/src/lib/libcrypto/evp/p5_crpt2.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: p5_crpt2.c,v 1.21 2015/09/10 15:56:25 jsing Exp $ */ | 1 | /* $OpenBSD: p5_crpt2.c,v 1.22 2016/11/08 20:01:06 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 | */ |
| @@ -293,7 +293,11 @@ PKCS5_v2_PBKDF2_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, | |||
| 293 | /* it seems that its all OK */ | 293 | /* it seems that its all OK */ |
| 294 | salt = kdf->salt->value.octet_string->data; | 294 | salt = kdf->salt->value.octet_string->data; |
| 295 | saltlen = kdf->salt->value.octet_string->length; | 295 | saltlen = kdf->salt->value.octet_string->length; |
| 296 | iter = ASN1_INTEGER_get(kdf->iter); | 296 | if ((iter = ASN1_INTEGER_get(kdf->iter)) <= 0) { |
| 297 | EVPerr(EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN, | ||
| 298 | EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS); | ||
| 299 | goto err; | ||
| 300 | } | ||
| 297 | if (!PKCS5_PBKDF2_HMAC(pass, passlen, salt, saltlen, iter, prfmd, | 301 | if (!PKCS5_PBKDF2_HMAC(pass, passlen, salt, saltlen, iter, prfmd, |
| 298 | keylen, key)) | 302 | keylen, key)) |
| 299 | goto err; | 303 | goto err; |
