oss-fuzz/projects/leveldb
Victor Costan 6af0e55ecd
leveldb: Fuzzer improvements. (#4837)
* Stop when opening a database fails. This will avoid null pointer
  dereferences.

* Use C++11 smart pointers for leveldb::DB and leveldb::Iterator. This
  makes it easier to ensure the fuzzer doesn't leak memory. No leak was
  detected while applying this fix.

* Use the FuzzedDataProvider API exclusively for consuming data. This
  makes it easier to ensure maximum fuzzer coverage.

* Avoid building unnecessary code (tests, benchmarks). This slightly
  reduces oss-fuzz resource usage.

* Use an enum class and FuzzedDataProvider::ConsumeEnum() instead of
  reimplementing it. This makes it easier to extend the fuzzer with new
  operations in the future.

* Use meaningful names (key, value, name) instead of tmp* for local
  variables storing leveldb API inputs.
2020-12-14 14:46:37 +11:00
..
Dockerfile
build.sh leveldb: Fuzzer improvements. (#4837) 2020-12-14 14:46:37 +11:00
fuzz_db.cc leveldb: Fuzzer improvements. (#4837) 2020-12-14 14:46:37 +11:00
fuzz_db.options
project.yaml Fill in main_repo for several projects. (#4816) 2020-12-09 21:52:40 -08:00