mirror of
https://github.com/storytold/filmcraft.git
synced 2026-11-08 02:29:58 +00:00
StreamDecoder::conceal(n) and decode_fec(.., n, ..) resized the output by n * channels for any caller-supplied n that was a multiple of 2.5 ms, so a huge n (for example from a corrupt container timestamp) allocated without limit. Both now reject n above 120 ms, the longest Opus packet, with InvalidArgument before any output is reserved. Internal callers (packet-loss concealment of the last packet's duration, multistream) never exceed that. A test covers the boundary and oversized values. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>