James Almer: > Should fix ticket #9196 > > Signed-off-by: James Almer <jamr...@gmail.com> > --- > libavfilter/af_adelay.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/libavfilter/af_adelay.c b/libavfilter/af_adelay.c > index 6ac81c2a3e..81ff7947f5 100644 > --- a/libavfilter/af_adelay.c > +++ b/libavfilter/af_adelay.c > @@ -28,9 +28,9 @@ > #include "internal.h" > > typedef struct ChanDelay { > - int delay; > - unsigned delay_index; > - unsigned index; > + int64_t delay; > + size_t delay_index; > + size_t index; > uint8_t *samples; > } ChanDelay; > > @@ -152,7 +152,7 @@ static int config_input(AVFilterLink *inlink) > > p = NULL; > > - ret = av_sscanf(arg, "%d%c", &d->delay, &type); > + ret = av_sscanf(arg, "%"SCNd64"%c", &d->delay, &type); > if (ret != 2 || type != 'S') { > div = type == 's' ? 1.0 : 1000.0; > if (av_sscanf(arg, "%f", &delay) != 1) { > @@ -194,6 +194,11 @@ static int config_input(AVFilterLink *inlink) > if (!d->delay) > continue; > > + if (d->delay > SIZE_MAX) {
Does this give a new compiler warning on 64bit systems (where this check is tautologically false)? > + av_log(ctx, AV_LOG_ERROR, "Requested delay is too big.\n"); > + return AVERROR(EINVAL); > + } > + > d->samples = av_malloc_array(d->delay, s->block_align); > if (!d->samples) > return AVERROR(ENOMEM); > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".