diff options
author | djm <> | 2012-10-13 21:23:50 +0000 |
---|---|---|
committer | djm <> | 2012-10-13 21:23:50 +0000 |
commit | 228cae30b117c2493f69ad3c195341cd6ec8d430 (patch) | |
tree | 29ff00b10d52c0978077c4fd83c33b065bade73e /src/lib/libcrypto/pkcs12/p12_key.c | |
parent | 731838c66b52c0ae5888333005b74115a620aa96 (diff) | |
download | openbsd-228cae30b117c2493f69ad3c195341cd6ec8d430.tar.gz openbsd-228cae30b117c2493f69ad3c195341cd6ec8d430.tar.bz2 openbsd-228cae30b117c2493f69ad3c195341cd6ec8d430.zip |
import OpenSSL-1.0.1c
Diffstat (limited to 'src/lib/libcrypto/pkcs12/p12_key.c')
-rw-r--r-- | src/lib/libcrypto/pkcs12/p12_key.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/lib/libcrypto/pkcs12/p12_key.c b/src/lib/libcrypto/pkcs12/p12_key.c index 424203f648..c55c7b60b3 100644 --- a/src/lib/libcrypto/pkcs12/p12_key.c +++ b/src/lib/libcrypto/pkcs12/p12_key.c | |||
@@ -152,14 +152,16 @@ int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, | |||
152 | for (i = 0; i < Slen; i++) *p++ = salt[i % saltlen]; | 152 | for (i = 0; i < Slen; i++) *p++ = salt[i % saltlen]; |
153 | for (i = 0; i < Plen; i++) *p++ = pass[i % passlen]; | 153 | for (i = 0; i < Plen; i++) *p++ = pass[i % passlen]; |
154 | for (;;) { | 154 | for (;;) { |
155 | EVP_DigestInit_ex(&ctx, md_type, NULL); | 155 | if (!EVP_DigestInit_ex(&ctx, md_type, NULL) |
156 | EVP_DigestUpdate(&ctx, D, v); | 156 | || !EVP_DigestUpdate(&ctx, D, v) |
157 | EVP_DigestUpdate(&ctx, I, Ilen); | 157 | || !EVP_DigestUpdate(&ctx, I, Ilen) |
158 | EVP_DigestFinal_ex(&ctx, Ai, NULL); | 158 | || !EVP_DigestFinal_ex(&ctx, Ai, NULL)) |
159 | goto err; | ||
159 | for (j = 1; j < iter; j++) { | 160 | for (j = 1; j < iter; j++) { |
160 | EVP_DigestInit_ex(&ctx, md_type, NULL); | 161 | if (!EVP_DigestInit_ex(&ctx, md_type, NULL) |
161 | EVP_DigestUpdate(&ctx, Ai, u); | 162 | || !EVP_DigestUpdate(&ctx, Ai, u) |
162 | EVP_DigestFinal_ex(&ctx, Ai, NULL); | 163 | || !EVP_DigestFinal_ex(&ctx, Ai, NULL)) |
164 | goto err; | ||
163 | } | 165 | } |
164 | memcpy (out, Ai, min (n, u)); | 166 | memcpy (out, Ai, min (n, u)); |
165 | if (u >= n) { | 167 | if (u >= n) { |