simd-json
simd-json copied to clipboard
Nul character allowed in JSON?
Hello, I'm doing differential fuzzing to find issues in my own JSON lexer, and it seems like simd-json allows nul bytes within an array:
fn main() {
let mut source = Vec::from(b"[-2374611873366417043\0]".as_slice());
let _ = dbg!(simd_json::to_borrowed_value(&mut source));
}
[src/main.rs:6] simd_json::to_borrowed_value(&mut source) = Ok(
Array(
[
Static(
I64(
-2374611873366417043,
),
),
],
),
)
My lexer and Firefox's JSON.parse both reject it. According to the spec, NUL bytes are not part of allowed whitespace characters.
you are right, this should error 👍 I don't have time to look at it right now but it's a bug in simd-json not your library :)