Message ID | 20220712184322.22814-1-michael@niedermayer.cc |
---|---|
State | Accepted |
Commit | 9450f759748d02d1d284d2e4afd741cb0fe0c04a |
Headers | show |
Series | [FFmpeg-devel,1/3] avcodec/lagarith: Check dst/src in zero run code | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On Tue, Jul 12, 2022 at 8:43 PM Michael Niedermayer <michael@niedermayer.cc> wrote: > Fixes: out of array access > Fixes: > 48799/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_LAGARITH_fuzzer-4764457825337344 > > Found-by: continuous fuzzing process > https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg > Signed-off-by > <https://github.com/google/oss-fuzz/tree/master/projects/ffmpegSigned-off-by>: > Michael Niedermayer <michael@niedermayer.cc> > --- > libavcodec/lagarith.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/libavcodec/lagarith.c b/libavcodec/lagarith.c > index 3aeb1c8a99..00e8005222 100644 > --- a/libavcodec/lagarith.c > +++ b/libavcodec/lagarith.c > @@ -409,6 +409,9 @@ output_zeros: > if (zero_run) { > zero_run = 0; > i += esc_count; > + if (i > end - dst || > + i >= src_end - src) > + return AVERROR_INVALIDDATA; > memcpy(dst, src, i); > dst += i; > l->zeros_rem = lag_calc_zero_run(src[i]); > LGTM > -- > 2.17.1 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". >
On Wed, Jul 13, 2022 at 09:49:05AM +0200, Paul B Mahol wrote: > On Tue, Jul 12, 2022 at 8:43 PM Michael Niedermayer <michael@niedermayer.cc> > wrote: > > > Fixes: out of array access > > Fixes: > > 48799/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_LAGARITH_fuzzer-4764457825337344 > > > > Found-by: continuous fuzzing process > > https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg > > Signed-off-by > > <https://github.com/google/oss-fuzz/tree/master/projects/ffmpegSigned-off-by>: > > Michael Niedermayer <michael@niedermayer.cc> > > --- > > libavcodec/lagarith.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/libavcodec/lagarith.c b/libavcodec/lagarith.c > > index 3aeb1c8a99..00e8005222 100644 > > --- a/libavcodec/lagarith.c > > +++ b/libavcodec/lagarith.c > > @@ -409,6 +409,9 @@ output_zeros: > > if (zero_run) { > > zero_run = 0; > > i += esc_count; > > + if (i > end - dst || > > + i >= src_end - src) > > + return AVERROR_INVALIDDATA; > > memcpy(dst, src, i); > > dst += i; > > l->zeros_rem = lag_calc_zero_run(src[i]); > > > > LGTM will apply thx [...]
diff --git a/libavcodec/lagarith.c b/libavcodec/lagarith.c index 3aeb1c8a99..00e8005222 100644 --- a/libavcodec/lagarith.c +++ b/libavcodec/lagarith.c @@ -409,6 +409,9 @@ output_zeros: if (zero_run) { zero_run = 0; i += esc_count; + if (i > end - dst || + i >= src_end - src) + return AVERROR_INVALIDDATA; memcpy(dst, src, i); dst += i; l->zeros_rem = lag_calc_zero_run(src[i]);
Fixes: out of array access Fixes: 48799/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_LAGARITH_fuzzer-4764457825337344 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> --- libavcodec/lagarith.c | 3 +++ 1 file changed, 3 insertions(+)