diff --git a/NEWS b/NEWS index a3103d3a..71a84c7f 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,10 @@ -TagLib 1.7 -========== +TagLib 1.7 (Mar 11, 2011) +========================= + +1.7: + + * Fixed memory leaks in the FLAC file format parser. + * Fixed bitrate calculation for WAV files. 1.7 RC1: diff --git a/taglib/flac/flacfile.cpp b/taglib/flac/flacfile.cpp index 6a57f863..c8cc1fb8 100644 --- a/taglib/flac/flacfile.cpp +++ b/taglib/flac/flacfile.cpp @@ -65,13 +65,13 @@ public: hasID3v2(false), hasID3v1(false) { - for(uint i = 0; i < blocks.size(); i++) { - delete blocks[i]; - } } ~FilePrivate() { + for(uint i = 0; i < blocks.size(); i++) { + delete blocks[i]; + } delete properties; } @@ -403,6 +403,7 @@ void FLAC::File::scan() } else { debug("FLAC::File::scan() -- invalid picture found, discarting"); + delete picture; } } @@ -412,6 +413,9 @@ void FLAC::File::scan() if(block->code() != MetadataBlock::Padding) { d->blocks.append(block); } + else { + delete block; + } nextBlockOffset += length + 4;