Carl Eugen Hoyos: > Am Mo., 30. März 2020 um 09:30 Uhr schrieb Andreas Rheinhardt > <andreas.rheinha...@gmail.com>: >> >> The WebM DASH Manifest muxer only supports VP8, VP9, Vorbis and Opus, >> but there was no check for this. The codec type is used to get a pointer >> to a string containing the codec name or NULL if it is not one of those >> four codecs. Said pointer has then been used without further checks as >> string for the %s conversion specifier in an avio_printf()) call which >> is undefined behaviour. >> >> This commit adds a check for the supported codec types. >> >> Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@gmail.com> >> --- >> libavformat/webmdashenc.c | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> >> diff --git a/libavformat/webmdashenc.c b/libavformat/webmdashenc.c >> index d05b265330..182a361eae 100644 >> --- a/libavformat/webmdashenc.c >> +++ b/libavformat/webmdashenc.c >> @@ -516,6 +516,14 @@ static int >> webm_dash_manifest_write_header(AVFormatContext *s) >> double start = 0.0; >> int ret; >> WebMDashMuxContext *w = s->priv_data; >> + >> + for (unsigned i = 0; i < s->nb_streams; i++) { >> + enum AVCodecID codec_id = s->streams[i]->codecpar->codec_id; >> + if ((codec_id != AV_CODEC_ID_VP8) && (codec_id != AV_CODEC_ID_VP9) >> && >> + (codec_id != AV_CODEC_ID_VORBIS) && (codec_id != >> AV_CODEC_ID_OPUS)) >> + return AVERROR(EINVAL); > > Too man parenthesis imo... > Fixed locally.
- Andreas _______________________________________________ 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".