Complete StructuredData parity and parser hardening (#37)
This commit is contained in:
4
fuzz/corpus/json_osd/README.md
Normal file
4
fuzz/corpus/json_osd/README.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# JSON OSD malformed corpus
|
||||
|
||||
The normal Rust hardening suite feeds these parser-edge cases and deterministic
|
||||
mutations of a valid all-variant JSON document to the bounded JSON adapter.
|
||||
7
fuzz/corpus/json_osd/malformed.txt
Normal file
7
fuzz/corpus/json_osd/malformed.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
empty:
|
||||
trailing:[]x
|
||||
unterminated_string:"x
|
||||
unterminated_array:[1
|
||||
unterminated_object:{"x":1
|
||||
duplicate_property:{"x":1,"x":2}
|
||||
non_finite_number:1e99999
|
||||
5
fuzz/corpus/notation_llsd/README.md
Normal file
5
fuzz/corpus/notation_llsd/README.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Notation LLSD malformed corpus
|
||||
|
||||
Each line in `malformed.txt` has a seed name followed by the raw notation input.
|
||||
The normal Rust hardening suite executes every seed and deterministic mutations
|
||||
of a valid all-variant document under no-panic and resource-limit checks.
|
||||
7
fuzz/corpus/notation_llsd/malformed.txt
Normal file
7
fuzz/corpus/notation_llsd/malformed.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
empty:
|
||||
unknown:?
|
||||
unterminated_string:s(10)"x
|
||||
missing_array_end:[i1
|
||||
missing_map_value:{'key':
|
||||
bad_base64:b64"***"
|
||||
bad_date:d"not-a-date"
|
||||
5
fuzz/corpus/protobuf_osd/README.md
Normal file
5
fuzz/corpus/protobuf_osd/README.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Protobuf OSD malformed corpus
|
||||
|
||||
Each named seed is hex-encoded. The normal Rust hardening suite checks every
|
||||
seed and deterministic mutations of a valid all-variant wire document without
|
||||
requiring an external fuzzing runtime.
|
||||
8
fuzz/corpus/protobuf_osd/malformed.hex
Normal file
8
fuzz/corpus/protobuf_osd/malformed.hex
Normal file
@@ -0,0 +1,8 @@
|
||||
empty:
|
||||
truncated_varint:80
|
||||
zero_field:00
|
||||
wrong_type_wire:0d00000000
|
||||
oversized_length:2affffffff0f
|
||||
truncated_fixed64:210000
|
||||
unknown_group:0b
|
||||
bad_uuid:0805320100
|
||||
@@ -3,4 +3,6 @@
|
||||
These inputs exercise the XML LLSD parser's entity boundary. DTD declarations,
|
||||
external entities, and undeclared named entities must be rejected without file
|
||||
or network access and without entity expansion. The structured-data unit tests
|
||||
load every fixture directly.
|
||||
load every fixture directly. `malformed_nesting.xml` additionally covers
|
||||
crossed container end tags, while `truncated_scalar.xml` guards against parser
|
||||
loops when a scalar reaches end-of-input without a closing tag.
|
||||
|
||||
1
fuzz/corpus/xml_llsd/malformed_nesting.xml
Normal file
1
fuzz/corpus/xml_llsd/malformed_nesting.xml
Normal file
@@ -0,0 +1 @@
|
||||
<llsd><map><key>value</key><array><integer>1</map></array></llsd>
|
||||
1
fuzz/corpus/xml_llsd/truncated_scalar.xml
Normal file
1
fuzz/corpus/xml_llsd/truncated_scalar.xml
Normal file
@@ -0,0 +1 @@
|
||||
<llsd><string>unterminated
|
||||
Reference in New Issue
Block a user