[FFmpeg-devel] [PATCH 4/5] avformat/icodec: Change order of operations to avoid NULL dereference

Peter Ross pross at xvid.org
Fri Oct 16 23:52:02 EEST 2020


On Fri, Oct 16, 2020 at 07:35:29PM +0200, Michael Niedermayer wrote:
> Fixes: SEGV on unknown address 0x000000000000
> Fixes: 26379/clusterfuzz-testcase-minimized-ffmpeg_dem_ICO_fuzzer-5709011753893888
> 
> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
>  libavformat/icodec.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/libavformat/icodec.c b/libavformat/icodec.c
> index b47fa98f80..c061f3ec42 100644
> --- a/libavformat/icodec.c
> +++ b/libavformat/icodec.c
> @@ -156,12 +156,14 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
>      IcoDemuxContext *ico = s->priv_data;
>      IcoImage *image;
>      AVIOContext *pb = s->pb;
> -    AVStream *st = s->streams[0];
> +    AVStream *st;
>      int ret;
>  
>      if (ico->current_image >= ico->nb_images)
>          return AVERROR_EOF;
>  
> +    st = s->streams[0];
> +
>      image = &ico->images[ico->current_image];
>  
>      if ((ret = avio_seek(pb, image->offset, SEEK_SET)) < 0)
> -- 
> 2.17.1

looks good

-- Peter
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
-------------- 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/20201017/c5da03d7/attachment.sig>


More information about the ffmpeg-devel mailing list