mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-27 05:50:08 +01:00
libnm/vpn: clear internal "keyfile" from NMVpnPluginInfo
The GKeyFile is no longer needed after constuction. All strings are
copied over to the "keys" hash.
(cherry picked from commit 4003edbbf9)
This commit is contained in:
parent
f25a8fee7e
commit
dd28e792ee
1 changed files with 6 additions and 4 deletions
|
|
@ -877,15 +877,16 @@ init_sync (GInitable *initable, GCancellable *cancellable, GError **error)
|
|||
for (j = 0; keys && keys[j]; j++) {
|
||||
char *s;
|
||||
|
||||
/* Lookup the value via get_string(). We want that behavior.
|
||||
* You could still lookup the original values via g_key_file_get_value()
|
||||
* based on priv->keyfile. */
|
||||
/* Lookup the value via get_string(). We want that behavior for all our
|
||||
* values. */
|
||||
s = g_key_file_get_string (priv->keyfile, groups[i], keys[j], NULL);
|
||||
if (s)
|
||||
g_hash_table_insert (priv->keys, _nm_utils_strstrdictkey_create (groups[i], keys[j]), s);
|
||||
}
|
||||
}
|
||||
|
||||
g_clear_pointer (&priv->keyfile, g_key_file_unref);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
@ -948,9 +949,10 @@ finalize (GObject *object)
|
|||
g_free (priv->service);
|
||||
g_strfreev (priv->aliases);
|
||||
g_free (priv->filename);
|
||||
g_key_file_unref (priv->keyfile);
|
||||
g_hash_table_unref (priv->keys);
|
||||
|
||||
g_clear_pointer (&priv->keyfile, g_key_file_unref);
|
||||
|
||||
G_OBJECT_CLASS (nm_vpn_plugin_info_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue