diff options
author | Thomas Haller <thaller@redhat.com> | 2018-04-13 16:23:13 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2018-04-19 09:36:41 +0200 |
commit | 3b8e9a3ea676a94821a9fe63ad2e2755fd1f8920 (patch) | |
tree | 5386afcbf121db5339c0fab2c1e73f51d63e8eb8 | |
parent | 584a06e4e8e001c23c6590553bc01e313699ac39 (diff) | |
download | NetworkManager-3b8e9a3ea676a94821a9fe63ad2e2755fd1f8920.tar.gz |
keyfile: fix memleak parsing dns values
-rw-r--r-- | libnm-core/nm-keyfile-reader.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/libnm-core/nm-keyfile-reader.c b/libnm-core/nm-keyfile-reader.c index 9274061113..2e87b4184d 100644 --- a/libnm-core/nm-keyfile-reader.c +++ b/libnm-core/nm-keyfile-reader.c @@ -662,7 +662,8 @@ ip4_dns_parser (KeyfileReaderInfo *info, NMSetting *setting, const char *key) const char *setting_name = nm_setting_get_name (setting); GPtrArray *array; gsize length; - char **list, **iter; + gs_strfreev char **list = NULL; + char **iter; int ret; list = nm_keyfile_plugin_kf_get_string_list (info->keyfile, setting_name, key, &length, NULL); @@ -679,7 +680,6 @@ ip4_dns_parser (KeyfileReaderInfo *info, NMSetting *setting, const char *key) _("ignoring invalid DNS server IPv4 address '%s'"), *iter)) { g_ptr_array_unref (array); - g_strfreev (list); return; } continue; @@ -691,7 +691,6 @@ ip4_dns_parser (KeyfileReaderInfo *info, NMSetting *setting, const char *key) g_object_set (setting, key, array->pdata, NULL); g_ptr_array_unref (array); - g_strfreev (list); } static void @@ -700,7 +699,8 @@ ip6_dns_parser (KeyfileReaderInfo *info, NMSetting *setting, const char *key) const char *setting_name = nm_setting_get_name (setting); GPtrArray *array = NULL; gsize length; - char **list, **iter; + gs_strfreev char **list = NULL; + char **iter; int ret; list = nm_keyfile_plugin_kf_get_string_list (info->keyfile, setting_name, key, &length, NULL); @@ -718,7 +718,6 @@ ip6_dns_parser (KeyfileReaderInfo *info, NMSetting *setting, const char *key) _("ignoring invalid DNS server IPv6 address '%s'"), *iter)) { g_ptr_array_unref (array); - g_strfreev (list); return; } continue; @@ -730,7 +729,6 @@ ip6_dns_parser (KeyfileReaderInfo *info, NMSetting *setting, const char *key) g_object_set (setting, key, array->pdata, NULL); g_ptr_array_unref (array); - g_strfreev (list); } static void |