# HG changeset patch # User conrad # Date 1263169915 0 # Node ID f4eceb1eb100502e922e28f5e87145725c17ecca # Parent 60671fac35ad56e88ad89e85a26a44dcdb60cda9 mkvdec: Avoid divide-by-zero crash on invalid real audio tracks diff -r 60671fac35ad -r f4eceb1eb100 matroskadec.c --- a/matroskadec.c Mon Jan 11 00:31:52 2010 +0000 +++ b/matroskadec.c Mon Jan 11 00:31:55 2010 +0000 @@ -1634,9 +1634,10 @@ 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;