diff options
author | Ben Chan <benchan@chromium.org> | 2017-03-28 23:23:14 -0700 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2017-03-29 10:22:37 +0200 |
commit | 27e4c74c6007ceac5611f2fc4e314217ebf8d25a (patch) | |
tree | 6c0d4e5e5d838175fb1530c0566d5d7a9677ad52 /src | |
parent | 78e6ba5688f80ee30466ef59ed78c78e083c4c55 (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.c | 1 | ||||
-rw-r--r-- | src/mm-device.c | 2 | ||||
-rw-r--r-- | src/mm-sms-list.c | 1 |
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); } |