summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2019-08-30 15:36:20 +0200
committerPauli <paul.dale@oracle.com>2019-09-06 19:27:57 +1000
commitff756eedb3b28964ac8e7a7825198ac1b26dfb98 (patch)
tree08cd209a15874ce2b8ca2c144f6ef40db3379425 /test
parentb1f15129933fdc98134ef2fcafb1ecea710f5920 (diff)
More KDF cleanup
The EVP_KDF_ definitions are no longer needed, and neither is EVP_get_kdfbyname() test/evp_kdf_test.c tried to use a EVP_get_kdfbyname() that was rewritten to use EVP_KDF_fetch() without ever freeing the resulting KDF method. It's better to refactor the test to use EVP_KDF_fetch directly. Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/9662)
Diffstat (limited to 'test')
-rw-r--r--test/evp_kdf_test.c43
1 files changed, 31 insertions, 12 deletions
diff --git a/test/evp_kdf_test.c b/test/evp_kdf_test.c
index 852cc46d41..abc4dccd46 100644
--- a/test/evp_kdf_test.c
+++ b/test/evp_kdf_test.c
@@ -446,19 +446,38 @@ static int test_kdf_sshkdf(void)
static int test_kdf_get_kdf(void)
{
- const EVP_KDF *kdf1, *kdf2;
+ EVP_KDF *kdf1 = NULL, *kdf2 = NULL;
ASN1_OBJECT *obj;
-
- return
- TEST_ptr(obj = OBJ_nid2obj(NID_id_pbkdf2))
- && TEST_ptr(kdf1 = EVP_get_kdfbyname(LN_id_pbkdf2))
- && TEST_ptr(kdf2 = EVP_get_kdfbyname(OBJ_nid2sn(OBJ_obj2nid(obj))))
- && TEST_ptr_eq(kdf1, kdf2)
- && TEST_ptr(kdf1 = EVP_get_kdfbyname(SN_tls1_prf))
- && TEST_ptr(kdf2 = EVP_get_kdfbyname(LN_tls1_prf))
- && TEST_ptr_eq(kdf1, kdf2)
- && TEST_ptr(kdf2 = EVP_get_kdfbyname(OBJ_nid2sn(NID_tls1_prf)))
- && TEST_ptr_eq(kdf1, kdf2);
+ int ok = 1;
+
+ if (!TEST_ptr(obj = OBJ_nid2obj(NID_id_pbkdf2))
+ || !TEST_ptr(kdf1 = EVP_KDF_fetch(NULL, LN_id_pbkdf2, NULL))
+ || !TEST_ptr(kdf2 = EVP_KDF_fetch(NULL, OBJ_nid2sn(OBJ_obj2nid(obj)),
+ NULL))
+ || !TEST_ptr_eq(kdf1, kdf2))
+ ok = 0;
+ EVP_KDF_free(kdf1);
+ kdf1 = NULL;
+ EVP_KDF_free(kdf2);
+ kdf2 = NULL;
+
+ if (!TEST_ptr(kdf1 = EVP_KDF_fetch(NULL, SN_tls1_prf, NULL))
+ || !TEST_ptr(kdf2 = EVP_KDF_fetch(NULL, LN_tls1_prf, NULL))
+ || !TEST_ptr_eq(kdf1, kdf2))
+ ok = 0;
+ /* kdf1 is re-used below, so don't free it here */
+ EVP_KDF_free(kdf2);
+ kdf2 = NULL;
+
+ if (!TEST_ptr(kdf2 = EVP_KDF_fetch(NULL, OBJ_nid2sn(NID_tls1_prf), NULL))
+ || !TEST_ptr_eq(kdf1, kdf2))
+ ok = 0;
+ EVP_KDF_free(kdf1);
+ kdf1 = NULL;
+ EVP_KDF_free(kdf2);
+ kdf2 = NULL;
+
+ return ok;
}
#ifndef OPENSSL_NO_CMS