[FFmpeg-devel] [PATCH 2/2] avcodec/gemdec: Use ff_set_dimensions()

Michael Niedermayer michael at niedermayer.cc
Mon Oct 11 20:59:56 EEST 2021


On Mon, Oct 11, 2021 at 08:18:25PM +1100, Peter Ross wrote:
> On Sun, Oct 10, 2021 at 11:39:54PM +0200, Michael Niedermayer wrote:
> > Fixes: OOM
> > Fixes: 39798/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_GEM_fuzzer-5611636853964800
> > 
> > Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> > Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> > ---
> >  libavcodec/gemdec.c | 8 ++++++--
> >  1 file changed, 6 insertions(+), 2 deletions(-)
> > 
> > diff --git a/libavcodec/gemdec.c b/libavcodec/gemdec.c
> > index bf0927b7638..2464dda8a7e 100644
> > --- a/libavcodec/gemdec.c
> > +++ b/libavcodec/gemdec.c
> > @@ -101,6 +101,7 @@ static int gem_decode_frame(AVCodecContext *avctx,
> >      int row_width, pixel_size;
> >      State state = {.y = 0, .pl = 0, .x = 0, .vdup = 1};
> >      void (*put_lines)(AVCodecContext *avctx, int planes, int row_width, int pixel_size, State * state, uint8_t * row, AVFrame *p);
> > +    int width, height;
> >  
> >      if (buf_size <= 16)
> >          return AVERROR_INVALIDDATA;
> > @@ -114,8 +115,11 @@ static int gem_decode_frame(AVCodecContext *avctx,
> >      pattern_size = bytestream2_get_be16(&gb);
> >      avctx->sample_aspect_ratio.num = bytestream2_get_be16(&gb);
> >      avctx->sample_aspect_ratio.den = bytestream2_get_be16(&gb);
> > -    avctx->width  = bytestream2_get_be16(&gb);
> > -    avctx->height = bytestream2_get_be16(&gb);
> > +    width  = bytestream2_get_be16(&gb);
> > +    height = bytestream2_get_be16(&gb);
> > +    ret = ff_set_dimensions(avctx, width, height);
> > +    if (ret < 0)
> > +        return ret;
> >  
> >      row_width = (avctx->width + 7) / 8;
> >      put_lines = put_lines_bits;
> 
> looks good. please apply.

will apply

thx

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

When the tyrant has disposed of foreign enemies by conquest or treaty, and
there is nothing more to fear from them, then he is always stirring up
some war or other, in order that the people may require a leader. -- Plato
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20211011/435ff98e/attachment.sig>


More information about the ffmpeg-devel mailing list