summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorNicolas Pennequin <nicolas.pennequin@free.fr>2007-08-14 11:56:14 +0000
committerNicolas Pennequin <nicolas.pennequin@free.fr>2007-08-14 11:56:14 +0000
commitdb15e5d3ba88357626f87a7fbb4a1523fe3c9672 (patch)
treeb395acdd7d3323c44923016f38c8806cd4e42347 /firmware
parent6a92e475acbc0b34e0fc302f5bb25799e990bc6f (diff)
downloadrockbox-db15e5d3ba88357626f87a7fbb4a1523fe3c9672.tar.gz
rockbox-db15e5d3ba88357626f87a7fbb4a1523fe3c9672.zip
Add an error check in get_mp3_metadata()
Check whether getonglength() succeeded or not, to prevent get_mp3_metadata() from returning a success value when in fact it failed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14327 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/id3.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/firmware/id3.c b/firmware/id3.c
index 76b705e9ed..184bdb5725 100644
--- a/firmware/id3.c
+++ b/firmware/id3.c
@@ -1132,7 +1132,10 @@ bool get_mp3_metadata(int fd, struct mp3entry *entry, const char *filename, bool
if (!v1found && entry->id3v2len)
setid3v2title(fd, entry);
- entry->length = getsonglength(fd, entry);
+ int len = getsonglength(fd, entry);
+ if (len < 0)
+ return false;
+ entry->length = len;
/* Subtract the meta information from the file size to get
the true size of the MP3 stream */