builder: Fix a few memory leaks

These changes fix some memory leaks that valgrind pointed out.
tingping/wmclass
Matthew Leeds 2016-07-28 15:51:02 -04:00
parent 772d2ab562
commit b051571de8
4 changed files with 9 additions and 1 deletions

View File

@ -75,9 +75,11 @@ builder_cache_finalize (GObject *object)
g_clear_object (&self->cache_dir);
g_clear_object (&self->app_dir);
g_clear_object (&self->repo);
g_checksum_free (self->checksum);
g_free (self->branch);
g_free (self->last_parent);
g_free (self->stage);
if (self->unused_stages)
g_hash_table_unref (self->unused_stages);

View File

@ -75,6 +75,11 @@ builder_context_finalize (GObject *object)
{
BuilderContext *self = (BuilderContext *) object;
g_clear_object (&self->state_dir);
g_clear_object (&self->download_dir);
g_clear_object (&self->build_dir);
g_clear_object (&self->cache_dir);
g_clear_object (&self->ccache_dir);
g_clear_object (&self->app_dir);
g_clear_object (&self->base_dir);
g_clear_object (&self->soup_session);

View File

@ -170,7 +170,7 @@ main (int argc,
g_autoptr(GError) error = NULL;
g_autoptr(BuilderManifest) manifest = NULL;
GOptionContext *context;
g_autoptr(GOptionContext) context = NULL;
const char *app_dir_path, *manifest_path;
g_autofree gchar *json = NULL;
g_autoptr(BuilderContext) build_context = NULL;

View File

@ -83,6 +83,7 @@ builder_options_finalize (GObject *object)
g_strfreev (self->env);
g_strfreev (self->build_args);
g_strfreev (self->config_opts);
g_hash_table_destroy (self->arch);
G_OBJECT_CLASS (builder_options_parent_class)->finalize (object);
}