From: Eric Biggers <ebiggers@xxxxxxxxxx> In OpenSSL 3.0, EVP_PKEY_derive() fails if the output is zero-length. Therefore, update test_hkdf_sha512() to not test this case. This only affects the algorithm self-tests within fscrypt-crypt-util, which are not compiled by default. Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx> --- src/fscrypt-crypt-util.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fscrypt-crypt-util.c b/src/fscrypt-crypt-util.c index 087ae09a..4bb4f4e5 100644 --- a/src/fscrypt-crypt-util.c +++ b/src/fscrypt-crypt-util.c @@ -975,7 +975,9 @@ static void test_hkdf_sha512(void) size_t ikmlen = 1 + (rand() % sizeof(ikm)); size_t saltlen = rand() % (1 + sizeof(salt)); size_t infolen = rand() % (1 + sizeof(info)); - size_t outlen = rand() % (1 + sizeof(actual_output)); + // Don't test zero-length outputs, since OpenSSL 3.0 and later + // returns an error for those. + size_t outlen = 1 + (rand() % sizeof(actual_output)); rand_bytes(ikm, ikmlen); rand_bytes(salt, saltlen); -- 2.40.0