From e4ae149b37f2a25e3b4e6e545884d504921ea817 Mon Sep 17 00:00:00 2001 From: Tambet Ingo Date: Wed, 12 Nov 2008 13:20:06 +0000 Subject: [PATCH] 2008-11-12 Tambet Ingo * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret) (add_secrets): Don't add empty secrets to the secrets hash table. git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4279 4912f4e0-d625-0410-9fb7-b9a5a253dbdc --- ChangeLog | 5 +++++ .../plugins/keyfile/nm-keyfile-connection.c | 15 +++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index f44f61d25b..063992f184 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-11-12 Tambet Ingo + + * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret) + (add_secrets): Don't add empty secrets to the secrets hash table. + 2008-11-07 Dan Williams * libnm-util/nm-setting-wireless.c diff --git a/system-settings/plugins/keyfile/nm-keyfile-connection.c b/system-settings/plugins/keyfile/nm-keyfile-connection.c index f037b2d7a8..6bf3e395f8 100644 --- a/system-settings/plugins/keyfile/nm-keyfile-connection.c +++ b/system-settings/plugins/keyfile/nm-keyfile-connection.c @@ -85,9 +85,12 @@ string_to_gvalue (const char *str) static void copy_one_secret (gpointer key, gpointer value, gpointer user_data) { - g_hash_table_insert ((GHashTable *) user_data, - g_strdup ((char *) key), - string_to_gvalue (value)); + const char *value_str = (const char *) value; + + if (value_str) + g_hash_table_insert ((GHashTable *) user_data, + g_strdup ((char *) key), + string_to_gvalue (value_str)); } static void @@ -103,7 +106,11 @@ add_secrets (NMSetting *setting, return; if (G_VALUE_HOLDS_STRING (value)) { - g_hash_table_insert (secrets, g_strdup (key), string_to_gvalue (g_value_get_string (value))); + const char *tmp; + + tmp = g_value_get_string (value); + if (tmp) + g_hash_table_insert (secrets, g_strdup (key), string_to_gvalue (tmp)); } else if (G_VALUE_HOLDS (value, DBUS_TYPE_G_MAP_OF_STRING)) { /* Flatten the string hash by pulling its keys/values out */ g_hash_table_foreach (g_value_get_boxed (value), copy_one_secret, secrets);