2008-11-12 Tambet Ingo <tambet@gmail.com>
authorTambet Ingo <tambet@gmail.com>
Wed, 12 Nov 2008 13:20:06 +0000 (13:20 +0000)
committerTambet Ingo <tambet@gmail.com>
Wed, 12 Nov 2008 13:20:06 +0000 (13:20 +0000)
* 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
system-settings/plugins/keyfile/nm-keyfile-connection.c

index f44f61d..063992f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-11-12  Tambet Ingo  <tambet@gmail.com>
+
+       * 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  <dcbw@redhat.com>
 
        * libnm-util/nm-setting-wireless.c
index f037b2d..6bf3e39 100644 (file)
@@ -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);