diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/kdf/hkdf_evp.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/lib/libcrypto/kdf/hkdf_evp.c b/src/lib/libcrypto/kdf/hkdf_evp.c index d87664d204..9aad4f1295 100644 --- a/src/lib/libcrypto/kdf/hkdf_evp.c +++ b/src/lib/libcrypto/kdf/hkdf_evp.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: hkdf_evp.c,v 1.9 2022/05/05 07:57:33 tb Exp $ */ | 1 | /* $OpenBSD: hkdf_evp.c,v 1.10 2022/05/05 08:03:11 tb Exp $ */ |
| 2 | /* ==================================================================== | 2 | /* ==================================================================== |
| 3 | * Copyright (c) 2016-2018 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 2016-2018 The OpenSSL Project. All rights reserved. |
| 4 | * | 4 | * |
| @@ -76,7 +76,7 @@ pkey_hkdf_init(EVP_PKEY_CTX *ctx) | |||
| 76 | { | 76 | { |
| 77 | HKDF_PKEY_CTX *kctx; | 77 | HKDF_PKEY_CTX *kctx; |
| 78 | 78 | ||
| 79 | if ((kctx = OPENSSL_zalloc(sizeof(*kctx))) == NULL) { | 79 | if ((kctx = calloc(1, sizeof(*kctx))) == NULL) { |
| 80 | KDFerr(KDF_F_PKEY_HKDF_INIT, ERR_R_MALLOC_FAILURE); | 80 | KDFerr(KDF_F_PKEY_HKDF_INIT, ERR_R_MALLOC_FAILURE); |
| 81 | return 0; | 81 | return 0; |
| 82 | } | 82 | } |
| @@ -91,10 +91,10 @@ pkey_hkdf_cleanup(EVP_PKEY_CTX *ctx) | |||
| 91 | { | 91 | { |
| 92 | HKDF_PKEY_CTX *kctx = ctx->data; | 92 | HKDF_PKEY_CTX *kctx = ctx->data; |
| 93 | 93 | ||
| 94 | OPENSSL_clear_free(kctx->salt, kctx->salt_len); | 94 | freezero(kctx->salt, kctx->salt_len); |
| 95 | OPENSSL_clear_free(kctx->key, kctx->key_len); | 95 | freezero(kctx->key, kctx->key_len); |
| 96 | OPENSSL_cleanse(kctx->info, kctx->info_len); | 96 | explicit_bzero(kctx->info, kctx->info_len); |
| 97 | OPENSSL_free(kctx); | 97 | free(kctx); |
| 98 | } | 98 | } |
| 99 | 99 | ||
| 100 | static int | 100 | static int |
| @@ -122,7 +122,7 @@ pkey_hkdf_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2) | |||
| 122 | return 0; | 122 | return 0; |
| 123 | 123 | ||
| 124 | if (kctx->salt != NULL) | 124 | if (kctx->salt != NULL) |
| 125 | OPENSSL_clear_free(kctx->salt, kctx->salt_len); | 125 | freezero(kctx->salt, kctx->salt_len); |
| 126 | 126 | ||
| 127 | kctx->salt = OPENSSL_memdup(p2, p1); | 127 | kctx->salt = OPENSSL_memdup(p2, p1); |
| 128 | if (kctx->salt == NULL) | 128 | if (kctx->salt == NULL) |
| @@ -136,7 +136,7 @@ pkey_hkdf_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2) | |||
| 136 | return 0; | 136 | return 0; |
| 137 | 137 | ||
| 138 | if (kctx->key != NULL) | 138 | if (kctx->key != NULL) |
| 139 | OPENSSL_clear_free(kctx->key, kctx->key_len); | 139 | freezero(kctx->key, kctx->key_len); |
| 140 | 140 | ||
| 141 | kctx->key = OPENSSL_memdup(p2, p1); | 141 | kctx->key = OPENSSL_memdup(p2, p1); |
| 142 | if (kctx->key == NULL) | 142 | if (kctx->key == NULL) |
| @@ -215,9 +215,9 @@ pkey_hkdf_derive_init(EVP_PKEY_CTX *ctx) | |||
| 215 | { | 215 | { |
| 216 | HKDF_PKEY_CTX *kctx = ctx->data; | 216 | HKDF_PKEY_CTX *kctx = ctx->data; |
| 217 | 217 | ||
| 218 | OPENSSL_clear_free(kctx->key, kctx->key_len); | 218 | freezero(kctx->key, kctx->key_len); |
| 219 | OPENSSL_clear_free(kctx->salt, kctx->salt_len); | 219 | freezero(kctx->salt, kctx->salt_len); |
| 220 | OPENSSL_cleanse(kctx->info, kctx->info_len); | 220 | explicit_bzero(kctx->info, kctx->info_len); |
| 221 | memset(kctx, 0, sizeof(*kctx)); | 221 | memset(kctx, 0, sizeof(*kctx)); |
| 222 | 222 | ||
| 223 | return 1; | 223 | return 1; |
