X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fconcatdec.c;h=88b6dbe6a4472a9b2a83469ca682e0223da602f8;hb=033764e015e33b9ce9583317092337367b3fea2b;hp=1fe294be19651bcbec6b2c4e7c1c799adb904515;hpb=2e290d61147a084de86777c26c95908ce62e0033;p=ffmpeg diff --git a/libavformat/concatdec.c b/libavformat/concatdec.c index 1fe294be196..88b6dbe6a44 100644 --- a/libavformat/concatdec.c +++ b/libavformat/concatdec.c @@ -315,7 +315,7 @@ static int open_file(AVFormatContext *avf, unsigned fileno) cat->files[fileno - 1].start_time + cat->files[fileno - 1].duration; file->file_start_time = (avf->start_time == AV_NOPTS_VALUE) ? 0 : avf->start_time; - file->file_inpoint = (file->file_inpoint == AV_NOPTS_VALUE) ? file->file_start_time : file->inpoint; + file->file_inpoint = (file->inpoint == AV_NOPTS_VALUE) ? file->file_start_time : file->inpoint; if ((ret = match_streams(avf)) < 0) return ret; if (file->inpoint != AV_NOPTS_VALUE) { @@ -394,6 +394,11 @@ static int concat_read_header(AVFormatContext *avf) av_log(avf, AV_LOG_ERROR, "Line %d: packet metadata required\n", line); FAIL(AVERROR_INVALIDDATA); } + if (!file) { + av_log(avf, AV_LOG_ERROR, "Line %d: %s without file\n", + line, keyword); + FAIL(AVERROR_INVALIDDATA); + } if ((ret = av_dict_parse_string(&file->metadata, metadata, "=", "", 0)) < 0) { av_log(avf, AV_LOG_ERROR, "Line %d: failed to parse metadata string\n", line); av_freep(&metadata);