fuzz_p2pk_witness.rs 609 B

12345678910111213141516171819
  1. #![no_main]
  2. use libfuzzer_sys::fuzz_target;
  3. use cashu::nuts::nut11::P2PKWitness;
  4. fuzz_target!(|data: &str| {
  5. // Fuzz P2PKWitness JSON deserialization
  6. // This tests signature list parsing with various formats
  7. let _: Result<P2PKWitness, _> = serde_json::from_str(data);
  8. // Fuzz with arbitrary signature strings
  9. // Test various invalid signature formats
  10. if let Ok(sigs) = serde_json::from_str::<Vec<String>>(data) {
  11. let witness = P2PKWitness { signatures: sigs };
  12. // Verify the witness can be serialized back
  13. let _ = serde_json::to_string(&witness);
  14. }
  15. });