mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-09-14 23:37:51 +02:00
Introduces a libFuzzer harness that exercises CDBWrapper operations against a std::map oracle, with a DeterministicEnv that captures LevelDB background compaction for single-threaded determinism. A sibling dbwrapper_threaded target uses a bare memenv so LevelDB's real background thread runs, exercising force_compact and threaded compaction paths that the deterministic variant cannot reach. Adds an implicit-integer-sign-change suppression for BytewiseComparatorImpl::FindShortSuccessor (leveldb/util/comparator.cc:58) to the test ubsan suppressions list. LevelDB's bytewise comparator implicitly converts a signed `char` byte to `uint8_t` there. The path is only reached when compaction picks an SST boundary key, so it requires a small enough max_file_size for compaction to fire during the fuzz run. Co-authored-by: l0rinc <pap.lorinc@gmail.com>
12 KiB
12 KiB