summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2002-09-16 13:31:17 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2002-09-16 13:31:17 +0000
commit2bd519d7b7f64e60be07063df0305d9f06382642 (patch)
tree5f6bdffdb7570da3b2df3faa9bd797fec5f67be2
parenta6df1fd48df8942f716e4f09781aa6826b541517 (diff)
downloadrockbox-2bd519d7b7f64e60be07063df0305d9f06382642.zip
rockbox-2bd519d7b7f64e60be07063df0305d9f06382642.tar.gz
rockbox-2bd519d7b7f64e60be07063df0305d9f06382642.tar.bz2
rockbox-2bd519d7b7f64e60be07063df0305d9f06382642.tar.xz
Removing the ID3V1 tag could give a negative len variable
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2299 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/mpeg.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/firmware/mpeg.c b/firmware/mpeg.c
index 969652d..75a8b56 100644
--- a/firmware/mpeg.c
+++ b/firmware/mpeg.c
@@ -1229,8 +1229,10 @@ static void mpeg_thread(void)
/* Make sure that the write pointer is at a word
boundary when we reach the end of the file */
if (len < amount_to_read) {
- /* skip id3v1 tag */
+ /* Skip id3v1 tag */
len -= id3tags[tag_read_idx]->id3.id3v1len;
+ if(len < 0)
+ len = 0;
len = (len + 1) & 0xfffffffe;
}