diff --git a/libavfilter/vf_deflicker.c b/libavfilter/vf_deflicker.c index b038b977f6..ea3f430a05 100644 --- a/libavfilter/vf_deflicker.c +++ b/libavfilter/vf_deflicker.c @@ -420,7 +420,10 @@ static int request_frame(AVFilterLink *outlink) ret = ff_request_frame(ctx->inputs[0]); if (ret == AVERROR_EOF && s->available > 0) { - AVFrame *buf = av_frame_clone(ff_bufqueue_peek(&s->q, s->size - 1)); + AVFrame *buf = ff_bufqueue_peek(&s->q, s->available - 1); + if (!buf) + return AVERROR(ENOMEM); + buf = av_frame_clone(buf); if (!buf) return AVERROR(ENOMEM);