about summary refs log tree commit diff
path: root/src/settings/plugins/keyfile/reader.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings/plugins/keyfile/reader.c')
-rw-r--r--src/settings/plugins/keyfile/reader.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/settings/plugins/keyfile/reader.c b/src/settings/plugins/keyfile/reader.c
index 47392978..7f0ab4af 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);
 	}