From: Anton Moryakov Date: Sun, 31 May 2026 09:33:11 +0000 (+0300) Subject: test: fix unreachable code in test_kdf_pbkdf2_large_output in evp_kdf_test.c X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d4c900174ceaacf413600b1c97b03e8991b1966d;p=thirdparty%2Fopenssl.git test: fix unreachable code in test_kdf_pbkdf2_large_output in evp_kdf_test.c The condition `if (sizeof(len) > 32)` was intended to set `len` to SIZE_MAX on platforms where size_t can hold values larger than 32 bits. However, sizeof() returns the size in bytes, not bits. Since sizeof(size_t) is typically 4 or 8 bytes on all current platforms, the condition was always false, leaving len at 0 and skipping the large-output test. This commit fixes the check by comparing SIZE_MAX directly against 0xFFFFFFFFU, which correctly detects whether size_t can represent values exceeding 32-bit range. This ensures the test properly validates PBKDF2 behavior when requested output length is excessively large. Fixes: 1cae59d14b9e "Make KDFs fail if requesting a zero-length key." Signed-off-by: Anton Moryakov Reviewed-by: Eugene Syromiatnikov Reviewed-by: Daniel Kubec MergeDate: Tue Jun 2 11:10:23 2026 (Merged from https://github.com/openssl/openssl/pull/31344) --- diff --git a/test/evp_kdf_test.c b/test/evp_kdf_test.c index 5f0b3f525de..a6ae0b16c47 100644 --- a/test/evp_kdf_test.c +++ b/test/evp_kdf_test.c @@ -988,7 +988,7 @@ static int test_kdf_pbkdf2_large_output(void) int mode = 0; OSSL_PARAM *params; - if (sizeof(len) > 32) + if (SIZE_MAX > 0xFFFFFFFFU) len = SIZE_MAX; params = construct_pbkdf2_params("passwordPASSWORDpassword", "sha256",