summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2023-03-19 12:38:45 -0700
committerZorro Lang <zlang@kernel.org>2023-03-25 12:42:23 +0800
commit593fcfbb573ab40a1620e4ba4ce7011fd0eaefcb (patch)
tree8cb903b8c04a0d1ddf72a54b522b64877fd82b97
parent2a280de522cfe8a7209f5030a57e56d9f7d9cf5a (diff)
fscrypt-crypt-util: fix HKDF self-test with latest OpenSSL
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@google.com> Reviewed-by: Zorro Lang <zlang@redhat.com> Signed-off-by: Zorro Lang <zlang@kernel.org>
-rw-r--r--src/fscrypt-crypt-util.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/fscrypt-crypt-util.c b/src/fscrypt-crypt-util.c
index 087ae09a..81d7d928 100644
--- a/src/fscrypt-crypt-util.c
+++ b/src/fscrypt-crypt-util.c
@@ -975,7 +975,11 @@ 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);