mirror of https://git.ffmpeg.org/ffmpeg.git
opus_silk: fix typo causing overflow in silk_stabilize_lsf
Due to this typo max_center can be too large, causing nlsf to be set to
too large values, which in turn can cause nlsf[i - 1] + min_delta[i] to
overflow to a negative value, which is not allowed for nlsf and can
cause an out of bounds read in silk_lsf2lpc.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit f61d44b74a
)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
This commit is contained in:
parent
6fc3f6f43b
commit
7a26ea7a7e
|
@ -824,7 +824,7 @@ static inline void silk_stabilize_lsf(int16_t nlsf[16], int order, const uint16_
|
||||||
|
|
||||||
/* upper extent */
|
/* upper extent */
|
||||||
for (i = order; i > k; i--)
|
for (i = order; i > k; i--)
|
||||||
max_center -= min_delta[k];
|
max_center -= min_delta[i];
|
||||||
max_center -= min_delta[k] >> 1;
|
max_center -= min_delta[k] >> 1;
|
||||||
|
|
||||||
/* move apart */
|
/* move apart */
|
||||||
|
|
Loading…
Reference in New Issue