From 5a155ef4ce9e41950250682475e80e7eb13a00c5 Mon Sep 17 00:00:00 2001 From: Tsuda Kageyu Date: Sun, 7 Feb 2016 04:46:40 +0900 Subject: [PATCH] Fix memory leaks when saving Ogg files. --- taglib/ogg/oggfile.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/taglib/ogg/oggfile.cpp b/taglib/ogg/oggfile.cpp index 2a922981..6520cc32 100644 --- a/taglib/ogg/oggfile.cpp +++ b/taglib/ogg/oggfile.cpp @@ -262,12 +262,13 @@ void Ogg::File::writePacket(unsigned int i, const ByteVector &packet) // TODO: This pagination method isn't accurate for what's being done here. // This should account for real possibilities like non-aligned packets and such. - const List pages = Page::paginate(packets, - Page::SinglePagePerGroup, - firstPage->header()->streamSerialNumber(), - firstPage->pageSequenceNumber(), - firstPage->header()->firstPacketContinued(), - lastPage->header()->lastPacketCompleted()); + List pages = Page::paginate(packets, + Page::SinglePagePerGroup, + firstPage->header()->streamSerialNumber(), + firstPage->pageSequenceNumber(), + firstPage->header()->firstPacketContinued(), + lastPage->header()->lastPacketCompleted()); + pages.setAutoDelete(true); // Write the pages.