summaryrefslogtreecommitdiff
path: root/firmware/id3.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2002-09-16 10:14:56 +0000
committerDaniel Stenberg <daniel@haxx.se>2002-09-16 10:14:56 +0000
commitf9a46c1cda57be492eb4cf562222900a5d4cf260 (patch)
tree46791de937a5c3bd11496e7fe2faf2ae03e0d692 /firmware/id3.c
parent9fe53cda9a0cc7608b6ef32184cfd59f42f2e91e (diff)
downloadrockbox-f9a46c1cda57be492eb4cf562222900a5d4cf260.tar.gz
rockbox-f9a46c1cda57be492eb4cf562222900a5d4cf260.zip
When getting tag contents, we might read a tag which has a part of it within
our buffer and part outside. This adjusts so that we only attempt to read the part of the tag that is inside the buffer. Magnus Holmgren helped out here! git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2297 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/id3.c')
-rw-r--r--firmware/id3.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/firmware/id3.c b/firmware/id3.c
index 96b1b51553..e70c288566 100644
--- a/firmware/id3.c
+++ b/firmware/id3.c
@@ -225,9 +225,9 @@ static void setid3v2title(int fd, struct mp3entry *entry)
225 (header[5]); 225 (header[5]);
226 } 226 }
227 227
228 /* Continue if the frame length seems bad */ 228 /* Get only the part of the header that is within our buffer */
229 if(headerlen > size) 229 if(headerlen > (size-readsize))
230 continue; 230 headerlen = (size - readsize);
231 231
232 /* Check for certain frame headers */ 232 /* Check for certain frame headers */
233 if(!strncmp(header, "TPE1", strlen("TPE1")) || 233 if(!strncmp(header, "TPE1", strlen("TPE1")) ||