mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-07-11 03:40:50 +02:00
c1500f8622
test_wc_falcon_sign_verify aborted (SIGABRT) when run as part of the full unit suite in liboqs configs. The direct OQS_SIG_keypair() call draws from liboqs' randombytes callback, which wolfSSL points at its default liboqs RNG; wolfSSL_liboqsClose() (run by wolfCrypt_Cleanup) frees that RNG without resetting liboqs_init, so after any earlier Init/Cleanup cycle in the suite the re-Init never re-creates it and the callback abort()s on the freed RNG. Running the test alone passed, which is why this only surfaced in make check. Drop the direct liboqs usage entirely: decode the embedded bench_falcon_level1_key (certs_test.h) with wc_Falcon_PrivateKeyDecode and exercise sign/verify through the wolfSSL API only, which hands the test's own RNG to liboqs and does not depend on the default-RNG lifecycle. Also removes the oqs/oqs.h include and the OQS_STATUS handling; with no liboqs symbols left in the body, only the guard still references HAVE_LIBOQS, easing the planned liboqs removal. Validated in --with-liboqs --enable-experimental --enable-falcon (the failing PRB-liboqs config): the full unit suite now completes with the test passing at the position that aborted; also passes under opensslall+falcon and compiles clean with -Werror=bad-function-cast.
Before creating any new configure files (.conf) read the CONF_FILES_README.md