1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

avfilter/avf_concat: check for possible integer overflow

Also check that segment delta pts is always bigger than input pts.

There is nothing much currently that can be done to recover from
this situation so just return AVERROR_INVALIDDATA error code.
This commit is contained in:
Paul B Mahol 2020-09-13 13:33:49 +02:00
parent 17b44f759e
commit 05c8d0bce6

View File

@ -251,6 +251,10 @@ static int send_silence(AVFilterContext *ctx, unsigned in_no, unsigned out_no,
if (!rate_tb.den)
return AVERROR_BUG;
if (cat->in[in_no].pts < INT64_MIN + seg_delta)
return AVERROR_INVALIDDATA;
if (seg_delta < cat->in[in_no].pts)
return AVERROR_INVALIDDATA;
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 */