summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libcrypto/kdf/tls1_prf.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/lib/libcrypto/kdf/tls1_prf.c b/src/lib/libcrypto/kdf/tls1_prf.c
index 75b44f4c6c..37a4da3089 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.19 2024/07/09 16:51:01 tb Exp $ */ 1/* $OpenBSD: tls1_prf.c,v 1.20 2024/07/09 16:51:50 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.
@@ -77,7 +77,7 @@ static int tls1_prf_alg(const EVP_MD *md,
77struct tls1_prf_ctx { 77struct tls1_prf_ctx {
78 const EVP_MD *md; 78 const EVP_MD *md;
79 unsigned char *secret; 79 unsigned char *secret;
80 size_t seclen; 80 size_t secret_len;
81 unsigned char seed[TLS1_PRF_MAXBUF]; 81 unsigned char seed[TLS1_PRF_MAXBUF];
82 size_t seedlen; 82 size_t seedlen;
83}; 83};
@@ -100,7 +100,7 @@ static void
100pkey_tls1_prf_cleanup(EVP_PKEY_CTX *ctx) 100pkey_tls1_prf_cleanup(EVP_PKEY_CTX *ctx)
101{ 101{
102 struct tls1_prf_ctx *kctx = ctx->data; 102 struct tls1_prf_ctx *kctx = ctx->data;
103 freezero(kctx->secret, kctx->seclen); 103 freezero(kctx->secret, kctx->secret_len);
104 explicit_bzero(kctx->seed, kctx->seedlen); 104 explicit_bzero(kctx->seed, kctx->seedlen);
105 free(kctx); 105 free(kctx);
106} 106}
@@ -118,13 +118,13 @@ pkey_tls1_prf_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
118 if (p1 < 0) 118 if (p1 < 0)
119 return 0; 119 return 0;
120 if (kctx->secret != NULL) 120 if (kctx->secret != NULL)
121 freezero(kctx->secret, kctx->seclen); 121 freezero(kctx->secret, kctx->secret_len);
122 122
123 explicit_bzero(kctx->seed, kctx->seedlen); 123 explicit_bzero(kctx->seed, kctx->seedlen);
124 kctx->seedlen = 0; 124 kctx->seedlen = 0;
125 125
126 kctx->secret = NULL; 126 kctx->secret = NULL;
127 kctx->seclen = 0; 127 kctx->secret_len = 0;
128 128
129 if (p1 == 0 || p2 == NULL) 129 if (p1 == 0 || p2 == NULL)
130 return 0; 130 return 0;
@@ -132,7 +132,7 @@ pkey_tls1_prf_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
132 if ((kctx->secret = calloc(1, p1)) == NULL) 132 if ((kctx->secret = calloc(1, p1)) == NULL)
133 return 0; 133 return 0;
134 memcpy(kctx->secret, p2, p1); 134 memcpy(kctx->secret, p2, p1);
135 kctx->seclen = p1; 135 kctx->secret_len = p1;
136 136
137 return 1; 137 return 1;
138 138
@@ -203,7 +203,7 @@ pkey_tls1_prf_derive(EVP_PKEY_CTX *ctx, unsigned char *key,
203 KDFerror(KDF_R_MISSING_SEED); 203 KDFerror(KDF_R_MISSING_SEED);
204 return 0; 204 return 0;
205 } 205 }
206 return tls1_prf_alg(kctx->md, kctx->secret, kctx->seclen, 206 return tls1_prf_alg(kctx->md, kctx->secret, kctx->secret_len,
207 kctx->seed, kctx->seedlen, 207 kctx->seed, kctx->seedlen,
208 key, *keylen); 208 key, *keylen);
209} 209}