mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-05-17 15:08:09 +08: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:
@ -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 */
|
||||
|
Reference in New Issue
Block a user