mirror of https://git.ffmpeg.org/ffmpeg.git
avcodec/mpegvideo_enc: Do not duplicate pictures on shifting
Fixes: out of array access
Fixes: 69098/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG2VIDEO_fuzzer-6107989688778752
Fixes: 69599/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-4848626296225792.fuzz
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 9c8881cb35
)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
35be459c27
commit
0e2bff1a88
|
@ -1297,6 +1297,8 @@ static int load_input_picture(MpegEncContext *s, const AVFrame *pic_arg)
|
||||||
/* shift buffer entries */
|
/* shift buffer entries */
|
||||||
for (i = flush_offset; i < MAX_PICTURE_COUNT /*s->encoding_delay + 1*/; i++)
|
for (i = flush_offset; i < MAX_PICTURE_COUNT /*s->encoding_delay + 1*/; i++)
|
||||||
s->input_picture[i - flush_offset] = s->input_picture[i];
|
s->input_picture[i - flush_offset] = s->input_picture[i];
|
||||||
|
for (int i = MAX_B_FRAMES + 1 - flush_offset; i <= MAX_B_FRAMES; i++)
|
||||||
|
s->input_picture[i] = NULL;
|
||||||
|
|
||||||
s->input_picture[encoding_delay] = (Picture*) pic;
|
s->input_picture[encoding_delay] = (Picture*) pic;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue