Commit 45f628c
committed
feat(fuzz): add cargo-fuzz targets and fix 3 parser bugs
Add 5 fuzz targets for stackforge-core parsers:
- packet_parse: full Packet::parse() entry point
- dns_layer: DNS name decompression, question/RR parsing
- tls_layer: TLS record, handshake, SSLv2 parsing
- http_layers: HTTP/1.x, HTTP/2 frames, HPACK decoding
- field_access: direct field accessors across protocol layers
Bugs found and fixed by fuzzing:
- HPACK integer decode: arithmetic overflow in varint continuation
- MQTT variable-length integer: multiply overflow before bounds check
- ARP parser: off-by-one in length guard (offset+5 vs offset+6)1 parent 3690740 commit 45f628c
4 files changed
Lines changed: 15 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
905 | 905 | | |
906 | 906 | | |
907 | 907 | | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
908 | 912 | | |
909 | 913 | | |
910 | 914 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
385 | 385 | | |
386 | 386 | | |
387 | 387 | | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
388 | 392 | | |
389 | 393 | | |
390 | 394 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
863 | 863 | | |
864 | 864 | | |
865 | 865 | | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
866 | 870 | | |
867 | 871 | | |
868 | 872 | | |
| |||
0 commit comments