commit 7da65210cbbd47c42c02ffae5c61a56c26df499b Author: Evgenii Terechkov Date: Sat Apr 25 15:06:51 2009 +0800 Fix broken xing header recognition diff --git a/nomad.c b/nomad.c index 74a05a2..a6804f9 100644 --- a/nomad.c +++ b/nomad.c @@ -154,12 +154,15 @@ static int xing_parse(struct nomad *nomad) bitlen -= 32; } if (nomad->xing.flags & XING_TOC) { - int i; + int i, prev = -1; if (bitlen < 800) return -1; - for (i = 0; i < 100; i++) + for (i = 0; i < 100; i++) { nomad->xing.toc[i] = mad_bit_read(&ptr, 8); + if (nomad->xing.toc[i] < prev || (i == 0 && !nomad->xing.toc[i])) return -1; + prev = nomad->xing.toc[i]; + } bitlen -= 800; } if (nomad->xing.flags & XING_SCALE) {