check if fuzz input is graphical before decoding it to UTF8

This commit is contained in:
John Turner
2025-11-18 02:46:33 +00:00
parent 46c3c075d1
commit 2d0a91eb18

View File

@@ -37,15 +37,15 @@ pub unsafe extern "C" fn LLVMFuzzerTestOneInput(input: *const u8, len: usize) ->
let slice = unsafe { slice::from_raw_parts(input, len) };
if slice.iter().any(|b| !b.is_ascii_graphic()) {
return -1;
}
let str = match str::from_utf8(slice) {
Ok(str) => str,
Err(_) => return -1,
};
if !str.chars().all(|c| c.is_ascii_graphic()) {
return -1;
}
let atom = str.trim();
let mut stdin = PY_PROCESS.stdin.lock().expect("failed to get stdin lock");