From 1c5b56eec7bb6c8554d33f50adae4359d243e390 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Sun, 4 Nov 2012 03:59:08 +0000 Subject: [PATCH] vocenc: abort if unsupported codec is used Signed-off-by: Paul B Mahol --- libavformat/vocenc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavformat/vocenc.c b/libavformat/vocenc.c index d97cdc4c15..27ed16f7fa 100644 --- a/libavformat/vocenc.c +++ b/libavformat/vocenc.c @@ -30,6 +30,7 @@ typedef struct voc_enc_context { static int voc_write_header(AVFormatContext *s) { AVIOContext *pb = s->pb; + AVCodecContext *enc = s->streams[0]->codec; const int header_size = 26; const int version = 0x0114; @@ -37,6 +38,11 @@ static int voc_write_header(AVFormatContext *s) || s->streams[0]->codec->codec_type != AVMEDIA_TYPE_AUDIO) return AVERROR_PATCHWELCOME; + if (!enc->codec_tag || enc->codec_tag > 0xffff) { + av_log(s, AV_LOG_ERROR, "unsupported codec\n"); + return AVERROR(EINVAL); + } + avio_write(pb, ff_voc_magic, sizeof(ff_voc_magic) - 1); avio_wl16(pb, header_size); avio_wl16(pb, version);