summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2018-04-13 16:23:13 +0200
committerThomas Haller <thaller@redhat.com>2018-04-19 09:36:41 +0200
commit3b8e9a3ea676a94821a9fe63ad2e2755fd1f8920 (patch)
tree5386afcbf121db5339c0fab2c1e73f51d63e8eb8
parent584a06e4e8e001c23c6590553bc01e313699ac39 (diff)
downloadNetworkManager-3b8e9a3ea676a94821a9fe63ad2e2755fd1f8920.tar.gz
keyfile: fix memleak parsing dns values
-rw-r--r--libnm-core/nm-keyfile-reader.c10
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