From 78e9c564b2c5ae9a554ecfef82a00e5d61b79267 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 25 Sep 2012 14:45:34 -0500 Subject: [PATCH] keyfile: fix use-after-free in log messages --- src/settings/plugins/keyfile/reader.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/settings/plugins/keyfile/reader.c b/src/settings/plugins/keyfile/reader.c index 91d7fd02d7..435bdb1569 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); }