diff options
author | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2023-08-11 11:06:52 +0300 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@amazon.com> | 2023-09-26 20:57:04 +0300 |
commit | a71ba10f897e02537e9095dd996e54fc6fcd7c04 (patch) | |
tree | 356edef6a38fc2c5081d54176aa813dc5fa17eb2 | |
parent | 41a4c9515d879f84e9107f14937e8bdee26d9cd7 (diff) |
Fixes stack overflow for some custom modes
This only affects custom modes (builds with --enable-custom-modes) with frame
sizes 2.5, 5, 10, and 20ms and sampling rates below 40 kHz. The problem does
not affect normal use of Opus (using OpusEncoder/OpusDecoder) even when built
with custom modes enabled, but only special applications that use
OpusCustomEncoder/OpusCustomDecoder.
-rw-r--r-- | celt/bands.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/celt/bands.c b/celt/bands.c index 5320ffab..6785e08e 100644 --- a/celt/bands.c +++ b/celt/bands.c @@ -1450,7 +1450,7 @@ void quant_all_bands(int encode, const CELTMode *m, int start, int end, if (encode && resynth) lowband_scratch = _lowband_scratch; else - lowband_scratch = X_+M*eBands[m->nbEBands-1]; + lowband_scratch = X_+M*eBands[m->effEBands-1]; ALLOC(X_save, resynth_alloc, celt_norm); ALLOC(Y_save, resynth_alloc, celt_norm); ALLOC(X_save2, resynth_alloc, celt_norm); |