[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