3 ms·
The hardest part of a rewrite like this is usually maintaining bug-for-bug compatibility with the legacy parser rather than the actual Rust implementation. Most
by storystarling 9mo ago
The hardest part of a rewrite like this is usually maintaining bug-for-bug compatibility with the legacy parser rather than the actual Rust implementation. Most real-world media files are malformed in some way that the C++ code implicitly handled, so if you write a strict parser you end up breaking valid user data. Differential fuzzing seems like the only practical way to map that behavior without manually reviewing millions of edge cases.
- dwattttt 9mo agoIt sounds like it's a design goal of this "wamedia" to _not_ maintain bug compatibility with media players.
- storystarling 9mo agoI suspect it is actually about maintaining permissiveness for malformed inputs rather than keeping security bugs. I ran into this building ingestion for a print-on-demand service where users upload technically broken PDFs that legacy viewers handle fine. If the new parser is stricter than the old one you end up rejecting files that used to work, which is a non-starter for the product.
- rubymamis 9mo agoAI reply?
- storystarling 9mo agoNot AI. Anyway, the real issue is permissiveness vs strict parsing—real-world files are messy.