diff options
author | Nicolas Pennequin <nicolas.pennequin@free.fr> | 2007-08-14 11:56:14 +0000 |
---|---|---|
committer | Nicolas Pennequin <nicolas.pennequin@free.fr> | 2007-08-14 11:56:14 +0000 |
commit | db15e5d3ba88357626f87a7fbb4a1523fe3c9672 (patch) | |
tree | b395acdd7d3323c44923016f38c8806cd4e42347 /firmware | |
parent | 6a92e475acbc0b34e0fc302f5bb25799e990bc6f (diff) | |
download | rockbox-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.c | 5 |
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 */ |