mirror of
https://github.com/storytold/figcraft.git
synced 2026-10-31 07:39:20 +00:00
normal_track read the trak size table at a file-controlled u32 offset with unchecked additions, which wrap on 32-bit targets such as wasm32 (a debug panic, or reads at the wrong offset). Its reads are now checked, and an incomplete normal track is dropped entirely, never returned in part. index_bytes was already bounded by fill(), which checks each range before the flagged additions run; this makes those bounds explicit, still skipping damaged faces and reading later faces' name tables without their outlines. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Co-Authored-By: GPT-6.1 Sol <noreply@openai.com> Co-Authored-By: GPT-6 Astra <noreply@openai.com>