mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-12 15:49:31 +02:00
Merge bitcoin/bitcoin#34887: fuzz: target CDBWrapper
b63ef20d54test: add fuzz harness for CDBWrapper (Andrew Toth)32169c3855dbwrapper: accept optional testing leveldb::Env in DBParams (Andrew Toth)8d390c93fcdbwrapper: make max_file_size a configurable DBParams field (Andrew Toth) Pull request description: Inspired by https://github.com/bitcoin/bitcoin/pull/34866#issuecomment-4090291488. We currently don't have a dedicated harness targeting `CDBWrapper`. OSS-Fuzz has a [rudimentary harness](https://github.com/google/oss-fuzz/blob/master/projects/leveldb/fuzz_db.cc) for levelDB [which fails](https://issues.oss-fuzz.com/issues/447252244), so doesn't appear maintained. This PR adds a harness targeting `CDBWrapper` against an in-memory oracle to verify correctness. A `DeterministicEnv` wraps levelDB's `memenv` to eliminate non-determinism by capturing background compaction and running it at fuzzer-chosen points. The fuzzer also controls the cache_bytes and max_file_size sizes so that small values trigger memtable flushes and compaction. ACKs for top commit: l0rinc: code review ACKb63ef20d54marcofleon: ACKb63ef20d54dergoegge: utACKb63ef20d54sedited: ACKb63ef20d54Tree-SHA512: da1f738ec90c49830a05b8990bdaa474299b573e966e60f4febef1292d9682f2e50f0016831f26bf4677e5afdaa142dc8766d871c6bce90d35f1695d480ac8c1
This commit is contained in:
@@ -19,6 +19,7 @@ implicit-integer-sign-change:*/include/c++/
|
||||
implicit-integer-sign-change:*/new_allocator.h
|
||||
implicit-integer-sign-change:*/qarraydata.h
|
||||
implicit-integer-sign-change:crc32c/
|
||||
implicit-integer-sign-change:BytewiseComparatorImpl::FindShortSuccessor
|
||||
implicit-integer-sign-change:minisketch/
|
||||
implicit-integer-sign-change:secp256k1/
|
||||
implicit-signed-integer-truncation:*/include/c++/
|
||||
|
||||
Reference in New Issue
Block a user