mirror of
https://github.com/taglib/taglib.git
synced 2026-08-27 12:47:01 -04:00
5f869755c8b6bc2dcdd36a11323ae45d3a851913
The Matroska and MP4 parsers limited child elements per container, but allowed that limit to repeat at every nesting level. A crafted media file could therefore retain millions of small elements and exhaust process memory while it was opened. Carry a shared element count through recursive parsing so the existing per-container limits also have a global bound.
TagLib
TagLib Audio Metadata Library
TagLib is a library for reading and editing the metadata of several popular audio formats. Currently, it supports various metadata containers such as ID3v1, ID3v2 and Vorbis comments for MP3, MP4, AAC, Ogg, Opus, FLAC, Speex, APE, MPC, WavPack, WAV, AIFF, TrueAudio, Matroska, WebM, ASF, WMA, DSF, DFF and tracker (MOD, XM, S3M, IT) files.
TagLib is distributed under the GNU Lesser General Public License (LGPL) and Mozilla Public License (MPL). Essentially that means that it may be used in proprietary applications, but if changes are made to TagLib they must be contributed back to the project. Please review the licenses if you are considering using TagLib in your project.
Languages
C++
96.7%
CMake
2%
C
0.9%
Logos
0.4%