discoverer: Plug some leaks in the cache loading path
authorThibault Saunier <tsaunier@igalia.com>
Sat, 8 Jun 2019 02:29:10 +0000 (22:29 -0400)
committerThibault Saunier <tsaunier@igalia.com>
Sat, 8 Jun 2019 02:44:31 +0000 (22:44 -0400)
gst-libs/gst/pbutils/gstdiscoverer-types.c
gst-libs/gst/pbutils/gstdiscoverer.c

index 0f0d0b9..e921eef 100644 (file)
@@ -377,6 +377,8 @@ gst_discoverer_info_finalize (GObject * object)
   if (info->toc)
     gst_toc_unref (info->toc);
 
+  g_free (info->cachefile);
+
   g_ptr_array_unref (info->missing_elements_details);
 }
 
index dc43554..5598915 100644 (file)
@@ -1526,6 +1526,7 @@ discoverer_collect (GstDiscoverer * dc)
 
     g_file_set_contents (dc->priv->current_info->cachefile,
         g_variant_get_data (variant), g_variant_get_size (variant), NULL);
+    g_variant_unref (variant);
   }
 
   if (dc->priv->async)
@@ -1813,6 +1814,7 @@ _serialized_info_get_path (GstDiscoverer * dc, gchar * uri)
   res = g_build_filename (cache_dir, &checksum[2], NULL);
 
 done:
+  g_checksum_free (cs);
   g_free (cache_dir);
   g_free (location);
   g_free (tmp);
@@ -1842,6 +1844,7 @@ _get_info_from_cachefile (GstDiscoverer * dc, gchar * cachefile)
     }
 
     GST_INFO_OBJECT (dc, "Got info from cache: %p", info);
+    g_free (data);
 
     return info;
   }