Files
AFFiNE/packages/common/y-octo/utils/fuzz/fuzz_targets/sync_message.rs
2025-04-21 02:51:15 +00:00

21 lines
549 B
Rust

#![no_main]
use libfuzzer_sys::fuzz_target;
use y_octo::{read_sync_message, write_sync_message};
fuzz_target!(|data: &[u8]| {
let result = read_sync_message(data);
if let Ok((_, msg)) = result {
// ensure decoding and re-encoding results has same result
let mut buffer = Vec::new();
if let Err(e) = write_sync_message(&mut buffer, &msg) {
panic!("Failed to write message: {:?}, {:?}", msg, e);
}
let result = read_sync_message(&buffer);
if let Ok((_, msg2)) = result {
assert_eq!(msg, msg2);
}
}
});