aboutsummaryrefslogtreecommitdiffstats
path: root/src/tag_ape.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* tag_ape: remove duplicate entries in the tag name tableMax Kellermann2010-06-301-7/+5
| | | | Reuse the function tag_name_parse_i().
* tag_ape: move code to tag_ape_name_parse()Max Kellermann2010-06-301-1/+7
|
* tag_ape: move table lookup to tag_table.hMax Kellermann2010-06-301-9/+9
| | | | Allow code sharing.
* tag_ape: support album artistMax Kellermann2010-06-301-0/+1
| | | | | | | | | | I took this tag name from a MusePack sample file I got from a user. It is not documented in the APE specification: http://wiki.hydrogenaudio.org/index.php?title=APE_key People seem to be using undocumented extensions to the specification anyway, and the best we can do is attempt to support them.
* tag_ape: simplified the apeItems arrayMax Kellermann2010-06-301-22/+12
| | | | | Make "enum tag_type" the array index, and convert apeItems to a sparse array.
* tag_ape: moved code to tag_ape_import_item()Max Kellermann2010-06-301-12/+22
| | | | Improve code readability.
* tag_ape: converted apeItems and tagItems to global varsMax Kellermann2010-06-301-20/+20
| | | | Don't initialize those arrays each time tag_ape_load() is called.
* ape: added protection against large memory allocationsMax Kellermann2009-07-191-0/+3
| | | | | | The function tag_ape_load() retrieves a 32 bit unsigned integer from the input file, and passes it to g_malloc(). This is dangerous, and may be used for a denial of service attack on MPD.
* tag_ape: removed redundant length checkMax Kellermann2009-07-191-3/+4
| | | | | Extend the tagLen check after reading it. Removed the second (redundant) check after the subtraction.
* ape: check the tag size (fixes integer underflow)Max Kellermann2009-07-181-1/+1
| | | | | | | The expression "tagLen - size > 0" may result in an integer underflow and a buffer overflow, when "size" is larger than "tagLen". "size" is read from the input file, and must not be trusted. This patch changes the expression to "tagLen > size", which is a lot safer.
* tag: use g_ascii_strcasecmp() instead of strcasecmp()Max Kellermann2009-04-281-1/+1
| | | | | strcasecmp() is locale dependent, making it a bad choice for internal string comparisons.
* all: Update copyright header.Avuton Olrich2009-03-131-3/+4
| | | | | | | | This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
* tag: moved APE code to tag_ape.cMax Kellermann2009-02-281-0/+145