diff options
author | Daniel Stenberg <daniel@haxx.se> | 2002-09-16 10:14:56 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2002-09-16 10:14:56 +0000 |
commit | f9a46c1cda57be492eb4cf562222900a5d4cf260 (patch) | |
tree | 46791de937a5c3bd11496e7fe2faf2ae03e0d692 /firmware/id3.c | |
parent | 9fe53cda9a0cc7608b6ef32184cfd59f42f2e91e (diff) | |
download | rockbox-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.c | 6 |
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")) || |