fuzz_witness.rs 482 B

123456789101112131415
  1. #![no_main]
  2. use libfuzzer_sys::fuzz_target;
  3. use cashu::nuts::nut00::Witness;
  4. fuzz_target!(|data: &str| {
  5. // Fuzz Witness enum deserialization
  6. // The Witness enum uses #[serde(untagged)] which can have edge cases
  7. // It dispatches to either P2PKWitness or HTLCWitness based on structure
  8. let _: Result<Witness, _> = serde_json::from_str(data);
  9. // Also try deserializing as a Vec of witnesses
  10. let _: Result<Vec<Witness>, _> = serde_json::from_str(data);
  11. });