Andreas Rheinhardt:
> Andreas Rheinhardt:
>> 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);
>> +    }
>> +
>>      ret = parse_adaptation_sets(s);
>>      if (ret < 0) {
>>          goto fail;
>>
> 
> If there are no objections, I intend to apply this patchset tomorrow.
> 
> - Andreas
> 
Applied.

- 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".

Reply via email to