diff options
-rw-r--r-- | src/lib/libcrypto/pkcs12/p12_key.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/lib/libcrypto/pkcs12/p12_key.c b/src/lib/libcrypto/pkcs12/p12_key.c index f4013dbbc9..d226525b0e 100644 --- a/src/lib/libcrypto/pkcs12/p12_key.c +++ b/src/lib/libcrypto/pkcs12/p12_key.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: p12_key.c,v 1.30 2022/07/30 11:24:52 tb Exp $ */ | 1 | /* $OpenBSD: p12_key.c,v 1.31 2022/07/30 11:27:06 tb 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 | */ |
@@ -169,14 +169,13 @@ PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, | |||
169 | B[j] = Ai[j % u]; | 169 | B[j] = Ai[j % u]; |
170 | 170 | ||
171 | for (j = 0; j < Ilen; j += v) { | 171 | for (j = 0; j < Ilen; j += v) { |
172 | unsigned char *Ij = &I[j]; | ||
173 | uint16_t c = 1; | 172 | uint16_t c = 1; |
174 | int k; | 173 | int k; |
175 | 174 | ||
176 | /* Work out Ij = Ij + B + 1. */ | 175 | /* Work out I[j] = I[j] + B + 1. */ |
177 | for (k = v - 1; k >= 0; k--) { | 176 | for (k = v - 1; k >= 0; k--) { |
178 | c += Ij[k] + B[k]; | 177 | c += I[j + k] + B[k]; |
179 | Ij[k] = (unsigned char)c; | 178 | I[j + k] = (unsigned char)c; |
180 | c >>= 8; | 179 | c >>= 8; |
181 | } | 180 | } |
182 | } | 181 | } |