ffmdec: validate sample_rate

A negative sample rate doesn't make sense and triggers assertions in
av_rescale_rnd.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
This commit is contained in:
Andreas Cadhalpun 2016-10-23 16:05:01 +02:00
parent 872fcfcc0f
commit 0009457dc0
1 changed files with 9 additions and 0 deletions

View File

@ -432,6 +432,11 @@ static int ffm2_read_header(AVFormatContext *s)
goto fail;
}
codec->sample_rate = avio_rb32(pb);
if (codec->sample_rate <= 0) {
av_log(s, AV_LOG_ERROR, "Invalid sample rate %d\n", codec->sample_rate);
ret = AVERROR_INVALIDDATA;
goto fail;
}
codec->channels = avio_rl16(pb);
codec->frame_size = avio_rl16(pb);
break;
@ -628,6 +633,10 @@ static int ffm_read_header(AVFormatContext *s)
break;
case AVMEDIA_TYPE_AUDIO:
codec->sample_rate = avio_rb32(pb);
if (codec->sample_rate <= 0) {
av_log(s, AV_LOG_ERROR, "Invalid sample rate %d\n", codec->sample_rate);
goto fail;
}
codec->channels = avio_rl16(pb);
codec->frame_size = avio_rl16(pb);
break;