discoverer: fix structure leak
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Thu, 12 Jan 2012 14:26:05 +0000 (14:26 +0000)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Thu, 12 Jan 2012 14:27:25 +0000 (14:27 +0000)
I hit the 'misc' one, but let's also make sure the topology
one get freed as well, though I do not know if this can happen
twice.

gst-libs/gst/pbutils/gstdiscoverer.c

index ce1cd0d..8d2d03b 100644 (file)
@@ -1160,8 +1160,12 @@ handle_message (GstDiscoverer * dc, GstMessage * msg)
         GST_DEBUG_OBJECT (GST_MESSAGE_SRC (msg),
             "Setting result to MISSING_PLUGINS");
         dc->priv->current_info->result = GST_DISCOVERER_MISSING_PLUGINS;
+        if (dc->priv->current_info->misc)
+          gst_structure_free (dc->priv->current_info->misc);
         dc->priv->current_info->misc = gst_structure_copy (msg->structure);
       } else if (sttype == _STREAM_TOPOLOGY_QUARK) {
+        if (dc->priv->current_topology)
+          gst_structure_free (dc->priv->current_topology);
         dc->priv->current_topology = gst_structure_copy (msg->structure);
       }
     }