mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-08-18 05:51:37 +02:00
Six white-box builds were being skipped, each contributing nothing to the union while the runs still reported success. test_frodokem_fault_common.h: a comment contained "wc_Shake*" followed by "/wc_AesEcbEncrypt", and the "*/" closed the block comment, so the rest of the sentence parsed as code. One character in a shared header took out two white-boxes across two variants. test_wc_xmss_impl_whitebox.c: wc_xmss_rand_hash_lr(), wc_xmss_chain_sha256_32() and the BdsState helpers exist only in the non-small signing path, so the file never compiled under WOLFSSL_WC_XMSS_SMALL. Each section now carries the guard its target carries in wc_xmss_impl.c, and the existing stub block covers the excluded builds. test_mldsa_fault_whitebox.c: the DER encode/decode entry points need ASN.1 support plus the export and private-key options. All ten call sites now sit behind one WB_MLDSA_ASN1 gate; without it the sweeps cover the raw import/export paths instead. test_memory_whitebox.c: this file compiles memory.c with WOLFSSL_STATIC_MEMORY, where the wc_MemStats_Ptr definition is guarded out, while the rest of the library still references it through mem_track.h. With memory.o trimmed from the archive that reference dangled. Supply the definition; void* because the type is not visible here and only the storage matters. test_rsa_fault_whitebox.c: setvbuf(stdout) so output survives a run that dies mid-buffer. Measured after each fix: frodokem, xmss, mldsa and infra now build every white-box in every variant. wc_xmss_impl.c returns to 57/74 -- an earlier attempt at the xmss fix removed a section that was still live and cost a condition.
Before creating any new configure files (.conf) read the CONF_FILES_README.md