summaryrefslogtreecommitdiff
path: root/firmware
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 /firmware
parenta6df1fd48df8942f716e4f09781aa6826b541517 (diff)
downloadrockbox-2bd519d7b7f64e60be07063df0305d9f06382642.tar.gz
rockbox-2bd519d7b7f64e60be07063df0305d9f06382642.zip
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
Diffstat (limited to 'firmware')
-rw-r--r--firmware/mpeg.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/firmware/mpeg.c b/firmware/mpeg.c
index 969652d259..75a8b56468 100644
--- a/firmware/mpeg.c
+++ b/firmware/mpeg.c
@@ -1229,8 +1229,10 @@ static void mpeg_thread(void)
1229 /* Make sure that the write pointer is at a word 1229 /* Make sure that the write pointer is at a word
1230 boundary when we reach the end of the file */ 1230 boundary when we reach the end of the file */
1231 if (len < amount_to_read) { 1231 if (len < amount_to_read) {
1232 /* skip id3v1 tag */ 1232 /* Skip id3v1 tag */
1233 len -= id3tags[tag_read_idx]->id3.id3v1len; 1233 len -= id3tags[tag_read_idx]->id3.id3v1len;
1234 if(len < 0)
1235 len = 0;
1234 len = (len + 1) & 0xfffffffe; 1236 len = (len + 1) & 0xfffffffe;
1235 } 1237 }
1236 1238