Commit Graph

3 Commits

Author SHA1 Message Date
Arseny Kapoulkine 41bada1923 tools: Implement round-trip fuzzing for vertex codec
In addition to validating all decoders for memory safety we can also
validate that the vertex encoder in particular round-trips safely. Index
encoder may rotate triangles so it's not a perfect binary match, and
index sequence encoder is rarely used and very simple, but vertex
encoder is more complicated and may become more so with v1.
2024-10-03 09:32:16 -07:00
Arseny Kapoulkine e98c22584c tools: Fix codecfuzz build
This code relied on cpuid; since the codecs have been extensively fuzzed
and scalar codecs are easier to verify by comparison, just disable the
cpuid fallback here as well.
2021-11-02 08:40:16 -07:00
Arseny Kapoulkine 510918a65f tools: Add fuzz driver for all codecs
All codecs must be resistant to malicious inputs; while the decoders
aren't guaranteed to provide a valid result, they must be able to decode
the input without reading past the input bounds or writing past the
output bounds.

This change adds a fuzzing driver that attempts to prove this for both
SIMD and scalar implementations of the decoders.
2020-12-22 17:23:45 -08:00