aboutsummaryrefslogtreecommitdiff
path: root/fuzz/fuzz_targets/display_does_not_panic.rs
diff options
context:
space:
mode:
Diffstat (limited to 'fuzz/fuzz_targets/display_does_not_panic.rs')
-rw-r--r--fuzz/fuzz_targets/display_does_not_panic.rs18
1 files changed, 15 insertions, 3 deletions
diff --git a/fuzz/fuzz_targets/display_does_not_panic.rs b/fuzz/fuzz_targets/display_does_not_panic.rs
index 97a14b8..39f5753 100644
--- a/fuzz/fuzz_targets/display_does_not_panic.rs
+++ b/fuzz/fuzz_targets/display_does_not_panic.rs
@@ -8,14 +8,26 @@ fuzz_target!(|data: &[u8]| {
let x86_16_decoder = yaxpeax_x86::real_mode::InstDecoder::default();
if let Ok(inst) = x86_64_decoder.decode_slice(data) {
- inst.write_to(&mut String::new()).expect("format does not panic");
+ let mut out = String::new();
+ inst.write_to(&mut out).expect("format does not panic");
+ let mut text_buf = yaxpeax_x86::long_mode::InstructionTextBuffer::new();
+ text_buf.format_inst(&inst.display_with(yaxpeax_x86::long_mode::DisplayStyle::Intel)).expect("can format");
+ assert_eq!(text_buf.text_str(), out);
};
if let Ok(inst) = x86_32_decoder.decode_slice(data) {
- inst.write_to(&mut String::new()).expect("format does not panic");
+ let mut out = String::new();
+ inst.write_to(&mut out).expect("format does not panic");
+ let mut text_buf = yaxpeax_x86::protected_mode::InstructionTextBuffer::new();
+ text_buf.format_inst(&inst.display_with(yaxpeax_x86::protected_mode::DisplayStyle::Intel)).expect("can format");
+ assert_eq!(text_buf.text_str(), out);
};
if let Ok(inst) = x86_16_decoder.decode_slice(data) {
- inst.write_to(&mut String::new()).expect("format does not panic");
+ let mut out = String::new();
+ inst.write_to(&mut out).expect("format does not panic");
+ let mut text_buf = yaxpeax_x86::real_mode::InstructionTextBuffer::new();
+ text_buf.format_inst(&inst.display_with(yaxpeax_x86::real_mode::DisplayStyle::Intel)).expect("can format");
+ assert_eq!(text_buf.text_str(), out);
};
});