diff --git a/fuzz/fuzz_targets/fuzz_safety_sanitizer.rs b/fuzz/fuzz_targets/fuzz_safety_sanitizer.rs index 8c3c54a2..32db887d 100644 --- a/fuzz/fuzz_targets/fuzz_safety_sanitizer.rs +++ b/fuzz/fuzz_targets/fuzz_safety_sanitizer.rs @@ -12,9 +12,12 @@ fuzz_target!(|data: &[u8]| { for w in &result.warnings { assert!(w.location.end <= s.len()); } - - // Exercise detection-only path - let warnings = sanitizer.detect(s); - assert_eq!(warnings.len(), result.warnings.len()); + // Verify invariant: critical severity triggers modification + let has_critical = result.warnings.iter().any(|w| { + w.severity == ironclaw::safety::Severity::Critical + }); + if has_critical { + assert!(result.was_modified); + } } });