From: Pauli Date: Mon, 30 Jun 2025 03:11:51 +0000 (+1000) Subject: test: seperate the integer and string fetches of the 'mode' parameter X-Git-Tag: openssl-3.6.0-alpha1~344 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c0c2008f28795072ec9a83ce97b7a4ed47cbee7;p=thirdparty%2Fopenssl.git test: seperate the integer and string fetches of the 'mode' parameter The generated parameter parsers don't accept duplication of parameters so this causes an error at runtime if not seperated. Reviewed-by: Shane Lontis Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/27923) --- diff --git a/test/evp_kdf_test.c b/test/evp_kdf_test.c index f537dc7b34d..898a170800e 100644 --- a/test/evp_kdf_test.c +++ b/test/evp_kdf_test.c @@ -295,12 +295,18 @@ static int do_kdf_hkdf_gettables(int extract_only, int has_digest) goto err; } + params_get[0] = OSSL_PARAM_construct_int(OSSL_KDF_PARAM_MODE, &mode_int); + params_get[1] = OSSL_PARAM_construct_end(); + if (!TEST_int_eq(EVP_KDF_CTX_get_params(kctx, params_get), 1) + || !TEST_int_eq(mode_int, extract_only ? EVP_KDF_HKDF_MODE_EXTRACT_ONLY : + EVP_KDF_HKDF_MODE_EXTRACT_AND_EXPAND)) + goto err; + params_get[0] = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_MODE, mode_utf8, sizeof(mode_utf8)); - params_get[1] = OSSL_PARAM_construct_int(OSSL_KDF_PARAM_MODE, &mode_int); - params_get[2] = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_SALT, salt, sizeof(salt)); - params_get[3] = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_INFO, info, sizeof(info)); - params_get[4] = OSSL_PARAM_construct_end(); + params_get[1] = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_SALT, salt, sizeof(salt)); + params_get[2] = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_INFO, info, sizeof(info)); + params_get[3] = OSSL_PARAM_construct_end(); if (!TEST_int_eq(EVP_KDF_CTX_get_params(kctx, params_get), 1) || !TEST_str_eq(mode_utf8, extract_only ? "EXTRACT_ONLY" : "EXTRACT_AND_EXPAND") || !TEST_int_eq(mode_int, extract_only ? EVP_KDF_HKDF_MODE_EXTRACT_ONLY :