diff --git a/libavformat/a64.c b/libavformat/a64.c index 640e7868366cb0c60e0df6c638e00e4b659a2c9c..da8e3104964d7ea3a1f482e267a374d44c3b5c45 100644 --- a/libavformat/a64.c +++ b/libavformat/a64.c @@ -35,6 +35,12 @@ static int a64_write_header(AVFormatContext *s) 0x00, //charset_lifetime (multi only) 0x00 //fps in 50/fps; }; + + if (avctx->extradata_size < 4) { + av_log(s, AV_LOG_ERROR, "Missing extradata\n"); + return AVERROR(EINVAL); + } + switch (avctx->codec->id) { case AV_CODEC_ID_A64_MULTI: header[2] = 0x00;