forked from
microcosm.blue/microcosm-rs
Constellation, Spacedust, Slingshot, UFOs: atproto crates and services for microcosm
1#![no_main]
2
3use bincode::config::{Configuration, LittleEndian, Varint, Limit, standard};
4use bincode::serde::decode_from_slice;
5use cardinality_estimator::CardinalityEstimator;
6use libfuzzer_sys::fuzz_target;
7
8type C = Configuration<LittleEndian, Varint, Limit<1048576>>;
9static BINCODE_CONF: C = standard().with_limit::<1048576>();
10
11fuzz_target!(|data: &[u8]| {
12 if let Ok((mut estimator, _n)) = decode_from_slice::<CardinalityEstimator<String>, C>(
13 data,
14 BINCODE_CONF,
15 ) {
16 // crash happens *much* faster if we just do kinda anything with the estimator
17 estimator.insert(&"asdf".to_string());
18 assert!(estimator.estimate() > 0);
19 }
20});