diff options
author | Thomas Haller <thaller@redhat.com> | 2017-11-20 14:07:49 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2017-11-23 14:44:24 +0100 |
commit | c09a069ca3c281309f1f4124a9665684ab906c94 (patch) | |
tree | 909eb55650d9beaee55fe2894473f1692b01081e | |
parent | 5c21e17c16b10322fb62aa12ae054eff10b5fe7e (diff) | |
download | NetworkManager-c09a069ca3c281309f1f4124a9665684ab906c94.tar.gz |
libnm: use cleanup attribute in nm_vpn_service_plugin_read_vpn_details()
-rw-r--r-- | libnm/nm-vpn-service-plugin.c | 21 |
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; } |