Files
clawhdf5/crates/clawhdf5-format/fuzz/fuzz_targets/fuzz_full_file.rs
T

24 lines
746 B
Rust

#![no_main]
use libfuzzer_sys::fuzz_target;
fuzz_target!(|data: &[u8]| {
// Full file parse: signature → superblock → root group object header
let sig = match clawhdf5_format::signature::find_signature(data) {
Ok(s) => s,
Err(_) => return,
};
let sb = match clawhdf5_format::superblock::Superblock::parse(data, sig) {
Ok(s) => s,
Err(_) => return,
};
let root_addr = sb.root_group_address as usize;
let _ = clawhdf5_format::object_header::ObjectHeader::parse(
data,
root_addr,
sb.offset_size,
sb.length_size,
);
// Also try resolving a path through the root group
let _ = clawhdf5_format::group_v2::resolve_path_any(data, &sb, "/");
});