aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2013-02-20 16:48:41 +0100
committerAleksander Morgado <aleksander@lanedo.com>2013-02-20 16:48:41 +0100
commit688bb2cb3a1c960a3e3c5a75c30aeeb641ff2c7a (patch)
treea7b5898dc4176fdc1384189d8429589bf5504371
parent9bef8531c189887954cb20938a304b2b51f40a94 (diff)
plugin: plug memleaks
This is really just to have a nice valgrind/memcheck output report, no big deal if they were never freed.
-rw-r--r--src/mm-plugin.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/mm-plugin.c b/src/mm-plugin.c
index d07192a8..87265e3b 100644
--- a/src/mm-plugin.c
+++ b/src/mm-plugin.c
@@ -1062,6 +1062,23 @@ finalize (GObject *object)
g_free (self->priv->name);
+#define _g_boxed_free0(t,p) if (p) g_boxed_free (t, p)
+
+ _g_boxed_free0 (G_TYPE_STRV, self->priv->subsystems);
+ _g_boxed_free0 (G_TYPE_STRV, self->priv->drivers);
+ _g_boxed_free0 (G_TYPE_STRV, self->priv->forbidden_drivers);
+ _g_boxed_free0 (MM_TYPE_UINT16_ARRAY, self->priv->vendor_ids);
+ _g_boxed_free0 (MM_TYPE_UINT16_PAIR_ARRAY, self->priv->product_ids);
+ _g_boxed_free0 (MM_TYPE_UINT16_PAIR_ARRAY, self->priv->forbidden_product_ids);
+ _g_boxed_free0 (G_TYPE_STRV, self->priv->udev_tags);
+ _g_boxed_free0 (G_TYPE_STRV, self->priv->vendor_strings);
+ _g_boxed_free0 (MM_TYPE_STR_PAIR_ARRAY, self->priv->product_strings);
+ _g_boxed_free0 (MM_TYPE_STR_PAIR_ARRAY, self->priv->forbidden_product_strings);
+ _g_boxed_free0 (MM_TYPE_POINTER_ARRAY, self->priv->custom_at_probe);
+ _g_boxed_free0 (MM_TYPE_ASYNC_METHOD, self->priv->custom_init);
+
+#undef _g_boxed_free0
+
G_OBJECT_CLASS (mm_plugin_parent_class)->finalize (object);
}