diff options
author | Dan Williams <dcbw@redhat.com> | 2012-09-25 14:45:34 -0500 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2012-09-25 15:03:13 -0500 |
commit | 78e9c564b2c5ae9a554ecfef82a00e5d61b79267 (patch) | |
tree | ad0219f4169c417b7e7d1faf6d38bfd500fbab1e | |
parent | 5d503fe43472be10ece2271b3451ee605cc0d3bc (diff) |
keyfile: fix use-after-free in log messages
-rw-r--r-- | src/settings/plugins/keyfile/reader.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/settings/plugins/keyfile/reader.c b/src/settings/plugins/keyfile/reader.c index 91d7fd02..435bdb15 100644 --- a/src/settings/plugins/keyfile/reader.c +++ b/src/settings/plugins/keyfile/reader.c @@ -113,10 +113,11 @@ read_ip4_addresses (GKeyFile *file, key_name = g_strdup_printf ("%s%d", key, i); tmp = g_key_file_get_string_list (file, setting_name, key_name, &length, NULL); - g_free (key_name); - if (!tmp || !length) + if (!tmp || !length) { + g_free (key_name); break; /* all done */ + } if ((length < 2) || (length > 3)) { g_warning ("%s: ignoring invalid IPv4 address item '%s'", __func__, key_name); @@ -157,6 +158,7 @@ read_ip4_addresses (GKeyFile *file, g_ptr_array_add (addresses, address); next: + g_free (key_name); g_strfreev (tmp); } |