diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2010-12-23 16:05:37 +0100 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2010-12-23 16:05:37 +0100 |
commit | fa50d01a92745a4d0ae7458d0be5e8aea3bcb277 (patch) | |
tree | 778320fb60150f423e1c19f7d64fc1e8070c42be /plugins | |
parent | 049f873dc114712739b35e8098dfc9fb9c01dc11 (diff) | |
download | connman-fa50d01a92745a4d0ae7458d0be5e8aea3bcb277.tar.gz connman-fa50d01a92745a4d0ae7458d0be5e8aea3bcb277.tar.bz2 connman-fa50d01a92745a4d0ae7458d0be5e8aea3bcb277.zip |
wifi: Zero length passphrase set to NULL
Some UI give a non NULL but zero length passphrase string and wpa
supplicant doesn't handle that.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/wifi.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/plugins/wifi.c b/plugins/wifi.c index 64322fdd..aed0fdce 100644 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -554,15 +554,20 @@ static GSupplicantSecurity network_security(const char *security) static void ssid_init(GSupplicantSSID *ssid, struct connman_network *network) { - const char *security; + const char *security, *passphrase; memset(ssid, 0, sizeof(*ssid)); ssid->ssid = connman_network_get_blob(network, "WiFi.SSID", &ssid->ssid_len); security = connman_network_get_string(network, "WiFi.Security"); ssid->security = network_security(security); - ssid->passphrase = connman_network_get_string(network, - "WiFi.Passphrase"); + passphrase = connman_network_get_string(network, + "WiFi.Passphrase"); + if (strlen(passphrase) == 0) + ssid->passphrase = NULL; + else + ssid->passphrase = passphrase; + ssid->eap = connman_network_get_string(network, "WiFi.EAP"); /* |