forked from mirrors/kingfisher
16 lines
552 B
Rust
16 lines
552 B
Rust
#![no_main]
|
|
use libfuzzer_sys::fuzz_target;
|
|
use kingfisher_scanner::primitives::get_base64_strings;
|
|
|
|
fuzz_target!(|data: &[u8]| {
|
|
let results = get_base64_strings(data);
|
|
|
|
for decoded in &results {
|
|
// Every returned span must be within the input bounds
|
|
assert!(decoded.pos_start <= decoded.pos_end);
|
|
assert!(decoded.pos_end <= data.len());
|
|
// Decoded data must be non-empty and ASCII (per the function contract)
|
|
assert!(!decoded.decoded.is_empty());
|
|
assert!(decoded.decoded.is_ascii());
|
|
}
|
|
});
|