diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/kdf/tls1_prf.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/lib/libcrypto/kdf/tls1_prf.c b/src/lib/libcrypto/kdf/tls1_prf.c index 970d77253b..1ba1e363f7 100644 --- a/src/lib/libcrypto/kdf/tls1_prf.c +++ b/src/lib/libcrypto/kdf/tls1_prf.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tls1_prf.c,v 1.28 2024/07/09 17:00:25 tb Exp $ */ | 1 | /* $OpenBSD: tls1_prf.c,v 1.29 2024/07/09 17:00:59 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project | 3 | * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project |
| 4 | * 2016. | 4 | * 2016. |
| @@ -284,7 +284,7 @@ tls1_prf_P_hash(const EVP_MD *md, | |||
| 284 | goto err; | 284 | goto err; |
| 285 | 285 | ||
| 286 | for (;;) { | 286 | for (;;) { |
| 287 | /* Reinit mac contexts */ | 287 | /* Reinit mac contexts */ |
| 288 | if (!EVP_MD_CTX_copy_ex(ctx, ctx_init)) | 288 | if (!EVP_MD_CTX_copy_ex(ctx, ctx_init)) |
| 289 | goto err; | 289 | goto err; |
| 290 | if (!EVP_DigestSignUpdate(ctx, A1, A1_len)) | 290 | if (!EVP_DigestSignUpdate(ctx, A1, A1_len)) |
| @@ -300,10 +300,9 @@ tls1_prf_P_hash(const EVP_MD *md, | |||
| 300 | goto err; | 300 | goto err; |
| 301 | out += mac_len; | 301 | out += mac_len; |
| 302 | out_len -= mac_len; | 302 | out_len -= mac_len; |
| 303 | /* calc the next A1 value */ | ||
| 304 | if (!EVP_DigestSignFinal(ctx_tmp, A1, &A1_len)) | 303 | if (!EVP_DigestSignFinal(ctx_tmp, A1, &A1_len)) |
| 305 | goto err; | 304 | goto err; |
| 306 | } else { /* last one */ | 305 | } else { |
| 307 | if (!EVP_DigestSignFinal(ctx, A1, &A1_len)) | 306 | if (!EVP_DigestSignFinal(ctx, A1, &A1_len)) |
| 308 | goto err; | 307 | goto err; |
| 309 | memcpy(out, A1, out_len); | 308 | memcpy(out, A1, out_len); |
