avfilter/af_silenceremove: fix possible crash if supplied duration is negative

Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
Paul B Mahol 2017-11-27 16:32:54 +01:00
parent b7324950c0
commit 2d1594a8d6
1 changed files with 9 additions and 0 deletions

View File

@ -186,8 +186,17 @@ static int config_input(AVFilterLink *inlink)
s->start_duration = av_rescale(s->start_duration, inlink->sample_rate, s->start_duration = av_rescale(s->start_duration, inlink->sample_rate,
AV_TIME_BASE); AV_TIME_BASE);
if (s->start_duration < 0) {
av_log(ctx, AV_LOG_WARNING, "start duration must be non-negative\n");
s->start_duration = -s->start_duration;
}
s->stop_duration = av_rescale(s->stop_duration, inlink->sample_rate, s->stop_duration = av_rescale(s->stop_duration, inlink->sample_rate,
AV_TIME_BASE); AV_TIME_BASE);
if (s->stop_duration < 0) {
av_log(ctx, AV_LOG_WARNING, "stop duration must be non-negative\n");
s->stop_duration = -s->stop_duration;
}
s->start_holdoff = av_malloc_array(FFMAX(s->start_duration, 1), s->start_holdoff = av_malloc_array(FFMAX(s->start_duration, 1),
sizeof(*s->start_holdoff) * sizeof(*s->start_holdoff) *