diff options
| author | Michael Biebl <biebl@debian.org> | 2016-08-26 02:19:30 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2016-08-26 02:19:30 +0200 |
| commit | 229bfa11c4d56b4c1017c81c7dbafbedd15e3153 (patch) | |
| tree | edfc7357b6494a5c0cb016bb88d61b623daa9876 /src/settings/plugins/ifnet/wpa_parser.c | |
| parent | 6318db9c78b4fe207dfe700cfac11a675fc63dc9 (diff) | |
| parent | 7514efc2f38c9ace4557d4e69d68e7d380389030 (diff) | |
Merge tag 'upstream/1.4.0'
Upstream version 1.4.0
Diffstat (limited to 'src/settings/plugins/ifnet/wpa_parser.c')
| -rw-r--r-- | src/settings/plugins/ifnet/wpa_parser.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/settings/plugins/ifnet/wpa_parser.c b/src/settings/plugins/ifnet/wpa_parser.c index 8e2559b3..505222ab 100644 --- a/src/settings/plugins/ifnet/wpa_parser.c +++ b/src/settings/plugins/ifnet/wpa_parser.c @@ -77,8 +77,10 @@ add_security (GHashTable *security) /* Hex format begins with " */ is_hex_ssid = (ssid[0] != '"'); if ((value = g_hash_table_lookup (security, "disabled")) != NULL) { - if (strcmp (value, "1") == 0) + if (strcmp (value, "1") == 0) { + destroy_security (security); return NULL; + } } /* Default priority is 1 */ @@ -111,6 +113,7 @@ add_security (GHashTable *security) static void add_key_value (GHashTable * network, gchar * line) { + gpointer orig_key, orig_value; gchar **key_value; if (g_str_has_prefix (line, "network={")) @@ -133,6 +136,14 @@ add_key_value (GHashTable * network, gchar * line) && !g_str_has_prefix (key_value[0], "wep_key") && strcmp (key_value[0], "ssid") != 0) strip_string (key_value[1], '"'); + + /* This sucks */ + if (g_hash_table_lookup_extended (network, key_value[0], &orig_key, &orig_value)) { + g_hash_table_remove (network, orig_key); + g_free (orig_key); + g_free (orig_value); + } + g_hash_table_insert (network, g_strdup (key_value[0]), g_strdup (key_value[1])); g_strfreev (key_value); |