On Wed, Oct 14, 2020 at 09:17:40PM +0200, Michael Niedermayer wrote:
> On Wed, Oct 14, 2020 at 07:54:34PM +0200, Paul B Mahol wrote:
> > On Wed, Oct 14, 2020 at 05:53:07PM +0200, Michael Niedermayer wrote:
> > > Fixes: OOM
> > > Fixes: 
> > > 26168/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_NOTCHLC_fuzzer-6019839015256064
> > > 
> > > Found-by: continuous fuzzing process 
> > > https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> > > Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc>
> > > ---
> > >  libavcodec/notchlc.c | 3 +++
> > >  1 file changed, 3 insertions(+)
> > > 
> > > diff --git a/libavcodec/notchlc.c b/libavcodec/notchlc.c
> > > index 3f7079da70..0254e7d76a 100644
> > > --- a/libavcodec/notchlc.c
> > > +++ b/libavcodec/notchlc.c
> > > @@ -490,6 +490,9 @@ static int decode_frame(AVCodecContext *avctx,
> > >  
> > >          bytestream2_init(gb, s->lzf_buffer, uncompressed_size);
> > >      } else if (s->format == 1) {
> > > +        if (bytestream2_get_bytes_left(gb) < uncompressed_size / 255)
> > 
> > From where you picked this division? And expecially 255 number?
> 
> from a look at lz4_decompress(), it appeared to me that the amount
> of bytes output is encoded so that each 255 bytes output require a byte
> input. So the output would be bound to 255 times the input size
> Did i miss something ?

#define LZ4_MAX_INPUT_SIZE        0x7E000000   /* 2 113 929 216 bytes */
#define LZ4_COMPRESSBOUND(isize)  ((unsigned)(isize) > 
(unsigned)LZ4_MAX_INPUT_SIZE ? 0 : (isize) + ((isize)/255) + 16)
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to