rmdemux: fix wrong unref when there are no tags
authorVineeth TM <vineeth.tm@samsung.com>
Tue, 21 Jul 2015 03:44:55 +0000 (12:44 +0900)
committerTim-Philipp Müller <tim@centricular.com>
Tue, 21 Jul 2015 09:52:54 +0000 (10:52 +0100)
Tags should be appended to pending tags and unref'ed only if tags
are present. Else there is no need to append.

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

gst/realmedia/rmdemux.c

index 08b798b..f170b21 100644 (file)
@@ -1929,11 +1929,13 @@ gst_rmdemux_parse_cont (GstRMDemux * rmdemux, const guint8 * data, int length)
 
   tags = gst_rm_utils_read_tags (data, length, gst_rm_utils_read_string16);
 
-  GST_LOG_OBJECT (rmdemux, "tags: %" GST_PTR_FORMAT, tags);
+  if (tags) {
+    GST_LOG_OBJECT (rmdemux, "tags: %" GST_PTR_FORMAT, tags);
 
-  rmdemux->pending_tags =
-      gst_tag_list_merge (rmdemux->pending_tags, tags, GST_TAG_MERGE_APPEND);
-  gst_tag_list_unref (tags);
+    rmdemux->pending_tags =
+        gst_tag_list_merge (rmdemux->pending_tags, tags, GST_TAG_MERGE_APPEND);
+    gst_tag_list_unref (tags);
+  }
 }
 
 static void