diff options
Diffstat (limited to 'src/settings/plugins/keyfile/reader.c')
| -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 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); } |