mkvdec: Avoid divide-by-zero crash on invalid real audio tracks

Originally committed as revision 21129 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
David Conrad 2010-01-11 00:31:55 +00:00
parent 24ca518bd1
commit 18ca491bf1
1 changed files with 4 additions and 3 deletions

View File

@ -1634,9 +1634,10 @@ static int matroska_parse_block(MatroskaDemuxContext *matroska, uint8_t *data,
if (res == 0) {
for (n = 0; n < laces; n++) {
if (st->codec->codec_id == CODEC_ID_RA_288 ||
st->codec->codec_id == CODEC_ID_COOK ||
st->codec->codec_id == CODEC_ID_ATRAC3) {
if ((st->codec->codec_id == CODEC_ID_RA_288 ||
st->codec->codec_id == CODEC_ID_COOK ||
st->codec->codec_id == CODEC_ID_ATRAC3) &&
st->codec->block_align && track->audio.sub_packet_size) {
int a = st->codec->block_align;
int sps = track->audio.sub_packet_size;
int cfs = track->audio.coded_framesize;