[FFmpeg-devel] [PATCH 1/9] avformat/segafilm: Check that there is a stream

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Thu Oct 22 08:20:49 EEST 2020


Michael Niedermayer:
> Fixes: assertion failure
> Fixes: 26472/clusterfuzz-testcase-minimized-ffmpeg_dem_SEGAFILM_fuzzer-5759751591559168
> 
> 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/segafilm.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/libavformat/segafilm.c b/libavformat/segafilm.c
> index 4d14b81d16..17592c905e 100644
> --- a/libavformat/segafilm.c
> +++ b/libavformat/segafilm.c
> @@ -144,6 +144,9 @@ static int film_read_header(AVFormatContext *s)
>          film->video_type = AV_CODEC_ID_NONE;
>      }
>  
> +    if (!film->video_type && !film->audio_type)
> +        return AVERROR_INVALIDDATA;
> +
>      /* initialize the decoder streams */
>      if (film->video_type) {
>          st = avformat_new_stream(s, NULL);
> 
This basically presumes that the value of AV_CODEC_ID_NONE is zero. This
assumption should be avoided (as can be done easily here). LGTM apart
from that.

- Andreas


More information about the ffmpeg-devel mailing list