On Sun, Sep 13, 2020 at 04:14:30PM +0200, Nicolas George wrote:
> Paul B Mahol (12020-09-13):
> > There is nothing much currently that can be done to recover from
> > this situation so just return AVERROR_BUG error code.
> > 
> > Signed-off-by: Paul B Mahol <one...@gmail.com>
> > ---
> >  libavfilter/avf_concat.c | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/libavfilter/avf_concat.c b/libavfilter/avf_concat.c
> > index 5608ed9ac6..295a340515 100644
> > --- a/libavfilter/avf_concat.c
> > +++ b/libavfilter/avf_concat.c
> > @@ -251,6 +251,8 @@ static int send_silence(AVFilterContext *ctx, unsigned 
> > in_no, unsigned out_no,
> >  
> >      if (!rate_tb.den)
> >          return AVERROR_BUG;
> > +    if (seg_delta < -cat->in[in_no].pts)
> > +        return AVERROR_BUG;
> >      nb_samples = av_rescale_q(seg_delta - cat->in[in_no].pts,
> >                                outlink->time_base, rate_tb);
> >      frame_nb_samples = FFMAX(9600, rate_tb.den / 5); /* arbitrary */
> 
> Catching the problem here is probably ok.
> 
> But it is not a bug in this filter, and therefore AVERROR_BUG is not the
> correct error message. I suppose AVERROR_INVALIDDATA would be ok.

It is bug in this filter.

Filter should avoid integer overflows.
Also expecting only monotonous timestamps from input is not valid.
Filter should not try to allocate very big number of frame samples.
Filter should not try to allocate negative number of frame samples.
I think this last one should be checked also in calling function.
_______________________________________________
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".

Reply via email to