mirror of https://git.ffmpeg.org/ffmpeg.git
ffmdec: make sure the time base is valid
A negative time base can trigger assertions. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
ba0198a767
commit
4c91d81be2
|
@ -331,6 +331,12 @@ static int ffm2_read_header(AVFormatContext *s)
|
|||
}
|
||||
codec->time_base.num = avio_rb32(pb);
|
||||
codec->time_base.den = avio_rb32(pb);
|
||||
if (codec->time_base.num <= 0 || codec->time_base.den <= 0) {
|
||||
av_log(s, AV_LOG_ERROR, "Invalid time base %d/%d\n",
|
||||
codec->time_base.num, codec->time_base.den);
|
||||
ret = AVERROR_INVALIDDATA;
|
||||
goto fail;
|
||||
}
|
||||
codec->width = avio_rb16(pb);
|
||||
codec->height = avio_rb16(pb);
|
||||
codec->gop_size = avio_rb16(pb);
|
||||
|
@ -503,6 +509,11 @@ static int ffm_read_header(AVFormatContext *s)
|
|||
case AVMEDIA_TYPE_VIDEO:
|
||||
codec->time_base.num = avio_rb32(pb);
|
||||
codec->time_base.den = avio_rb32(pb);
|
||||
if (codec->time_base.num <= 0 || codec->time_base.den <= 0) {
|
||||
av_log(s, AV_LOG_ERROR, "Invalid time base %d/%d\n",
|
||||
codec->time_base.num, codec->time_base.den);
|
||||
goto fail;
|
||||
}
|
||||
codec->width = avio_rb16(pb);
|
||||
codec->height = avio_rb16(pb);
|
||||
codec->gop_size = avio_rb16(pb);
|
||||
|
|
Loading…
Reference in New Issue