g729dec: check pitch_delay_int.
Fix out of array read Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
56d09250ef
commit
a974adc3c7
@ -510,6 +510,10 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr,
|
|||||||
|
|
||||||
/* Round pitch delay to nearest (used everywhere except ff_acelp_interpolate). */
|
/* Round pitch delay to nearest (used everywhere except ff_acelp_interpolate). */
|
||||||
pitch_delay_int[i] = (pitch_delay_3x + 1) / 3;
|
pitch_delay_int[i] = (pitch_delay_3x + 1) / 3;
|
||||||
|
if (pitch_delay_int[i] > PITCH_DELAY_MAX) {
|
||||||
|
av_log(avctx, AV_LOG_WARNING, "pitch_delay_int %d is too large\n", pitch_delay_int[i]);
|
||||||
|
pitch_delay_int[i] = PITCH_DELAY_MAX;
|
||||||
|
}
|
||||||
|
|
||||||
if (frame_erasure) {
|
if (frame_erasure) {
|
||||||
ctx->rand_value = g729_prng(ctx->rand_value);
|
ctx->rand_value = g729_prng(ctx->rand_value);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user