summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2017-11-20 14:07:49 +0100
committerThomas Haller <thaller@redhat.com>2017-11-23 14:44:24 +0100
commitc09a069ca3c281309f1f4124a9665684ab906c94 (patch)
tree909eb55650d9beaee55fe2894473f1692b01081e
parent5c21e17c16b10322fb62aa12ae054eff10b5fe7e (diff)
downloadNetworkManager-c09a069ca3c281309f1f4124a9665684ab906c94.tar.gz
libnm: use cleanup attribute in nm_vpn_service_plugin_read_vpn_details()
-rw-r--r--libnm/nm-vpn-service-plugin.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/libnm/nm-vpn-service-plugin.c b/libnm/nm-vpn-service-plugin.c
index ce58af654c..b9e3992631 100644
--- a/libnm/nm-vpn-service-plugin.c
+++ b/libnm/nm-vpn-service-plugin.c
@@ -730,10 +730,11 @@ nm_vpn_service_plugin_read_vpn_details (int fd,
GHashTable **out_data,
GHashTable **out_secrets)
{
- GHashTable *data, *secrets;
+ gs_unref_hashtable GHashTable *data = NULL;
+ gs_unref_hashtable GHashTable *secrets = NULL;
gboolean success = FALSE;
char *key = NULL, *val = NULL;
- GString *line;
+ nm_auto_free_gstring GString *line = NULL;
gchar c;
if (out_data)
@@ -795,21 +796,9 @@ nm_vpn_service_plugin_read_vpn_details (int fd,
}
if (success) {
- if (out_data)
- *out_data = data;
- else
- g_hash_table_destroy (data);
-
- if (out_secrets)
- *out_secrets = secrets;
- else
- g_hash_table_destroy (secrets);
- } else {
- g_hash_table_destroy (data);
- g_hash_table_destroy (secrets);
+ NM_SET_OUT (out_data, g_steal_pointer (&data));
+ NM_SET_OUT (out_secrets, g_steal_pointer (&secrets));
}
-
- g_string_free (line, TRUE);
return success;
}