]> granicus.if.org Git - taglib/commitdiff
Fixed (huge) memory leak with ASF.
authorBirunthan Mohnathas <birunthan@mohanathas.com>
Mon, 12 Mar 2012 16:44:08 +0000 (18:44 +0200)
committerLukáš Lalinský <lalinsky@gmail.com>
Sat, 17 Mar 2012 09:48:57 +0000 (10:48 +0100)
taglib/asf/asffile.cpp

index e39f856ff5d7d7f99940ac71af020dbf1703fe49..fbde6fa1375d0348ee446e26d67665e975b431d0 100644 (file)
@@ -141,11 +141,19 @@ class ASF::File::HeaderExtensionObject : public ASF::File::BaseObject
 {
 public:
   List<ASF::File::BaseObject *> objects;
+  ~HeaderExtensionObject();
   ByteVector guid();
   void parse(ASF::File *file, uint size);
   ByteVector render(ASF::File *file);
 };
 
+ASF::File::HeaderExtensionObject::~HeaderExtensionObject()
+{
+  for(unsigned int i = 0; i < objects.size(); i++) {
+    delete objects[i];
+  }
+}
+
 void ASF::File::BaseObject::parse(ASF::File *file, unsigned int size)
 {
   data.clear();