evp_test: add a ctx dup operation to the KDF tests

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/17572)

(cherry picked from commit c8adf19d2d)
Reviewed-by: Hugo Landau <hlandau@openssl.org>
This commit is contained in:
Pauli 2022-01-24 16:17:25 +11:00 committed by Tomas Mraz
parent a262d4ff18
commit f46befd667
1 changed files with 5 additions and 0 deletions

View File

@ -2808,6 +2808,7 @@ static int kdf_test_run(EVP_TEST *t)
KDF_DATA *expected = t->data;
unsigned char *got = NULL;
size_t got_len = expected->output_len;
EVP_KDF_CTX *ctx;
if (!EVP_KDF_CTX_set_params(expected->ctx, expected->params)) {
t->err = "KDF_CTRL_ERROR";
@ -2817,6 +2818,10 @@ static int kdf_test_run(EVP_TEST *t)
t->err = "INTERNAL_ERROR";
goto err;
}
if ((ctx = EVP_KDF_CTX_dup(expected->ctx)) != NULL) {
EVP_KDF_CTX_free(expected->ctx);
expected->ctx = ctx;
}
if (EVP_KDF_derive(expected->ctx, got, got_len, NULL) <= 0) {
t->err = "KDF_DERIVE_ERROR";
goto err;