Assert size of string in fuzz target

This commit is contained in:
David Tolnay 2022-05-15 13:46:15 -07:00
parent 951c29d200
commit 4f1481a12a
No known key found for this signature in database
GPG Key ID: F9BA143B95FF6D82
1 changed files with 3 additions and 1 deletions

View File

@ -2,6 +2,7 @@
use arbitrary::Arbitrary; use arbitrary::Arbitrary;
use libfuzzer_sys::fuzz_target; use libfuzzer_sys::fuzz_target;
use std::mem;
#[derive(Arbitrary, Debug)] #[derive(Arbitrary, Debug)]
enum IntegerInput { enum IntegerInput {
@ -21,7 +22,7 @@ enum IntegerInput {
fuzz_target!(|input: IntegerInput| { fuzz_target!(|input: IntegerInput| {
let mut buffer = itoa::Buffer::new(); let mut buffer = itoa::Buffer::new();
match input { let string = match input {
IntegerInput::I8(val) => buffer.format(val), IntegerInput::I8(val) => buffer.format(val),
IntegerInput::U8(val) => buffer.format(val), IntegerInput::U8(val) => buffer.format(val),
IntegerInput::I16(val) => buffer.format(val), IntegerInput::I16(val) => buffer.format(val),
@ -35,4 +36,5 @@ fuzz_target!(|input: IntegerInput| {
IntegerInput::Isize(val) => buffer.format(val), IntegerInput::Isize(val) => buffer.format(val),
IntegerInput::Usize(val) => buffer.format(val), IntegerInput::Usize(val) => buffer.format(val),
}; };
assert!(string.len() <= mem::size_of::<itoa::Buffer>());
}); });