diff options
Diffstat (limited to 'src/dhcp-manager/nm-dhcp-client.c')
| -rw-r--r-- | src/dhcp-manager/nm-dhcp-client.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/dhcp-manager/nm-dhcp-client.c b/src/dhcp-manager/nm-dhcp-client.c index f4e94a6e..980fcab8 100644 --- a/src/dhcp-manager/nm-dhcp-client.c +++ b/src/dhcp-manager/nm-dhcp-client.c @@ -1533,16 +1533,26 @@ dispose (GObject *object) * the DHCP client. */ - if (priv->remove_id) + if (priv->remove_id) { g_source_remove (priv->remove_id); + priv->remove_id = 0; + } + + if (priv->options) { + g_hash_table_destroy (priv->options); + priv->options = NULL; + } + g_clear_pointer (&priv->iface, g_free); - g_hash_table_destroy (priv->options); - g_free (priv->iface); - if (priv->hwaddr) + if (priv->hwaddr) { g_byte_array_free (priv->hwaddr, TRUE); + priv->hwaddr = NULL; + } - if (priv->duid) + if (priv->duid) { g_byte_array_free (priv->duid, TRUE); + priv->duid = NULL; + } G_OBJECT_CLASS (nm_dhcp_client_parent_class)->dispose (object); } |