Commit Graph

1 Commits

Author SHA1 Message Date
vangel76 014b5e5659 Opus decoder: cap concealment and FEC length at 120 ms
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>
2026-10-25 12:00:23 +01:00