blob: 4d7b151809053eb6e7690e69516fce6907514eb7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
extern crate plist;
use std::io::Cursor;
use plist::Plist;
#[test]
fn too_large_allocation() {
let data = b"bplist00\"&L^^^^^^^^-^^^^^^^^^^^";
test_fuzzer_data_err(data);
}
#[test]
fn too_large_allocation_2() {
let data = b"bplist00;<)\x9fX\x0a<h\x0a:hhhhG:hh\x0amhhhhhhx#hhT)\x0a*";
test_fuzzer_data_err(data);
}
#[test]
fn empty_offset_table() {
let data = b"bplist00;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00<)\x9fXTX(";
test_fuzzer_data_err(data);
}
fn test_fuzzer_data_err(data: &[u8]) {
let cursor = Cursor::new(data);
let res = Plist::read(cursor);
assert!(res.is_err());
}
|