summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2010-12-23 16:05:37 +0100
committerSamuel Ortiz <sameo@linux.intel.com>2010-12-23 16:05:37 +0100
commitfa50d01a92745a4d0ae7458d0be5e8aea3bcb277 (patch)
tree778320fb60150f423e1c19f7d64fc1e8070c42be
parent049f873dc114712739b35e8098dfc9fb9c01dc11 (diff)
downloadconnman-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.
-rw-r--r--plugins/wifi.c11
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");
/*