diff options
author | Eric Biggers <ebiggers@google.com> | 2023-03-19 12:38:45 -0700 |
---|---|---|
committer | Zorro Lang <zlang@kernel.org> | 2023-03-25 12:42:23 +0800 |
commit | 593fcfbb573ab40a1620e4ba4ce7011fd0eaefcb (patch) | |
tree | 8cb903b8c04a0d1ddf72a54b522b64877fd82b97 | |
parent | 2a280de522cfe8a7209f5030a57e56d9f7d9cf5a (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.c | 6 |
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); |