mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2026-10-24 02:09:03 +03:00
avfilter/firequalizer: reject overflowing delays
Signed-off-by: Ayoub Nabil Boubagrat <237098474+ayoubnabil@users.noreply.github.com>
This commit is contained in:
committed by
michaelni
parent
71f9ea2d84
commit
31e92a56ca
@@ -728,6 +728,7 @@ static int config_input(AVFilterLink *inlink)
|
||||
FilterLink *l = ff_filter_link(inlink);
|
||||
AVFilterContext *ctx = inlink->dst;
|
||||
FIREqualizerContext *s = ctx->priv;
|
||||
const double delay_samples = inlink->sample_rate * s->delay;
|
||||
float iscale, scale = 1.f;
|
||||
int rdft_bits, ret;
|
||||
|
||||
@@ -736,7 +737,11 @@ static int config_input(AVFilterLink *inlink)
|
||||
s->next_pts = 0;
|
||||
s->frame_nsamples_max = 0;
|
||||
|
||||
s->fir_len = FFMAX(2 * (int)(inlink->sample_rate * s->delay) + 1, 3);
|
||||
if (!isfinite(delay_samples) || delay_samples >= (INT_MAX + 1.0) / 2) {
|
||||
av_log(ctx, AV_LOG_ERROR, "too large or non-finite delay, please decrease it.\n");
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
s->fir_len = FFMAX(2 * (int)delay_samples + 1, 3);
|
||||
s->remaining = s->fir_len - 1;
|
||||
|
||||
for (rdft_bits = RDFT_BITS_MIN; rdft_bits <= RDFT_BITS_MAX; rdft_bits++) {
|
||||
|
||||
Reference in New Issue
Block a user