On 29/03/17 08:23, Ben Chan wrote: > 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. > ---
Good catch! Pushed to git master and backported to mm-1-6 and mm-1-4. > src/mm-call-list.c | 1 + > src/mm-device.c | 2 ++ > src/mm-sms-list.c | 1 + > 3 files changed, 4 insertions(+) > > 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); > } > -- Aleksander https://aleksander.es _______________________________________________ ModemManager-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel
