mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2025-01-22 11:59:34 +00:00
aacenc_tns: fix out-of-bounds array access
Since the coefficients are stepped up to order + 1 it was possible that it went over TNS_MAX_ORDER. Also just return in case the only coefficient is less than the threshold. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
This commit is contained in:
parent
902ac9ca74
commit
e924967fd5
@ -97,6 +97,10 @@ static void process_tns_coeffs(TemporalNoiseShaping *tns, double *coef_raw,
|
||||
break;
|
||||
}
|
||||
}
|
||||
order = av_clip(order, 0, TNS_MAX_ORDER - 1);
|
||||
*order_p = order;
|
||||
if (!order)
|
||||
return;
|
||||
|
||||
/* Step up procedure, convert to LPC coeffs */
|
||||
out[0] = 1.0f;
|
||||
@ -109,7 +113,6 @@ static void process_tns_coeffs(TemporalNoiseShaping *tns, double *coef_raw,
|
||||
}
|
||||
out[i] = lpc[i-1];
|
||||
}
|
||||
*order_p = order;
|
||||
memcpy(lpc, out, TNS_MAX_ORDER*sizeof(float));
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user