aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBen Chan <benchan@chromium.org>2017-03-28 23:23:14 -0700
committerAleksander Morgado <aleksander@aleksander.es>2017-03-29 10:22:37 +0200
commit27e4c74c6007ceac5611f2fc4e314217ebf8d25a (patch)
tree6c0d4e5e5d838175fb1530c0566d5d7a9677ad52 /src
parent78e6ba5688f80ee30466ef59ed78c78e083c4c55 (diff)
core: reset GList pointers to NULL when necessary
When calling g_list_free_full() to free a GList in dispose(), it is necessary to reset the GList pointer to NULL as dispose() may be called more than once.
Diffstat (limited to 'src')
-rw-r--r--src/mm-call-list.c1
-rw-r--r--src/mm-device.c2
-rw-r--r--src/mm-sms-list.c1
3 files changed, 4 insertions, 0 deletions
diff --git a/src/mm-call-list.c b/src/mm-call-list.c
index e829ae7b..fae66035 100644
--- a/src/mm-call-list.c
+++ b/src/mm-call-list.c
@@ -395,6 +395,7 @@ dispose (GObject *object)
g_clear_object (&self->priv->modem);
g_list_free_full (self->priv->list, g_object_unref);
+ self->priv->list = NULL;
G_OBJECT_CLASS (mm_call_list_parent_class)->dispose (object);
}
diff --git a/src/mm-device.c b/src/mm-device.c
index aa7a27e0..1b69f3de 100644
--- a/src/mm-device.c
+++ b/src/mm-device.c
@@ -647,7 +647,9 @@ dispose (GObject *object)
g_clear_object (&(self->priv->plugin));
g_list_free_full (self->priv->port_probes, g_object_unref);
+ self->priv->port_probes = NULL;
g_list_free_full (self->priv->ignored_port_probes, g_object_unref);
+ self->priv->ignored_port_probes = NULL;
clear_modem (self);
diff --git a/src/mm-sms-list.c b/src/mm-sms-list.c
index 03daaf24..7819b3ad 100644
--- a/src/mm-sms-list.c
+++ b/src/mm-sms-list.c
@@ -451,6 +451,7 @@ dispose (GObject *object)
g_clear_object (&self->priv->modem);
g_list_free_full (self->priv->list, g_object_unref);
+ self->priv->list = NULL;
G_OBJECT_CLASS (mm_sms_list_parent_class)->dispose (object);
}