summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/pkcs12/p12_key.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/pkcs12/p12_key.c')
-rw-r--r--src/lib/libcrypto/pkcs12/p12_key.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/lib/libcrypto/pkcs12/p12_key.c b/src/lib/libcrypto/pkcs12/p12_key.c
index c55c7b60b3..424203f648 100644
--- a/src/lib/libcrypto/pkcs12/p12_key.c
+++ b/src/lib/libcrypto/pkcs12/p12_key.c
@@ -152,16 +152,14 @@ 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 if (!EVP_DigestInit_ex(&ctx, md_type, NULL) 155 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;
160 for (j = 1; j < iter; j++) { 159 for (j = 1; j < iter; j++) {
161 if (!EVP_DigestInit_ex(&ctx, md_type, NULL) 160 EVP_DigestInit_ex(&ctx, md_type, NULL);
162 || !EVP_DigestUpdate(&ctx, Ai, u) 161 EVP_DigestUpdate(&ctx, Ai, u);
163 || !EVP_DigestFinal_ex(&ctx, Ai, NULL)) 162 EVP_DigestFinal_ex(&ctx, Ai, NULL);
164 goto err;
165 } 163 }
166 memcpy (out, Ai, min (n, u)); 164 memcpy (out, Ai, min (n, u));
167 if (u >= n) { 165 if (u >= n) {