id3tag: fix sample memory leak
authorVineeth TM <vineeth.tm@samsung.com>
Mon, 5 Oct 2015 02:21:07 +0000 (11:21 +0900)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 7 Oct 2015 18:04:27 +0000 (19:04 +0100)
When getting sample from taglist, the memory is not being freed resulting in memory leak.

https://bugzilla.gnome.org/show_bug.cgi?id=756070

gst/id3tag/id3tag.c

index 582e0695f378c15c5b610a2792ec7138e36933ac..c12a77c5988265439490d47993abd1cdc7547802 100644 (file)
@@ -498,8 +498,10 @@ add_id3v2frame_tag (GstId3v2Tag * id3v2tag, const GstTagList * list,
         guint8 *data;
         gint size;
 
-        if (!gst_buffer_map (buf, &mapinfo, GST_MAP_READ))
+        if (!gst_buffer_map (buf, &mapinfo, GST_MAP_READ)) {
+          gst_sample_unref (sample);
           continue;
+        }
 
         size = mapinfo.size;
         data = mapinfo.data;
@@ -526,6 +528,7 @@ add_id3v2frame_tag (GstId3v2Tag * id3v2tag, const GstTagList * list,
             "version");
       }
     }
+    gst_sample_unref (sample);
   }
 }
 
@@ -777,6 +780,7 @@ add_image_tag (GstId3v2Tag * id3v2tag, const GstTagList * list,
     } else {
       GST_WARNING ("no image or caps: %p, caps=%" GST_PTR_FORMAT, image, caps);
     }
+    gst_sample_unref (sample);
   }
 }