Check ssid_len before set WiFi.SSID of network
authorMartin Xu <martin.xu@intel.com>
Mon, 10 May 2010 07:25:36 +0000 (15:25 +0800)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 10 May 2010 10:46:14 +0000 (12:46 +0200)
wpa_s 0.7.1 reports hidden network SSID as NULL, during scan. Conseqently,
the ssid of hidden network (which is set by user before) may be cleared,
and can not be connected anymore.

plugins/supplicant.c

index 62aac11..7323c94 100644 (file)
@@ -1576,7 +1576,8 @@ static void properties_reply(DBusPendingCall *call, void *user_data)
        if (result.name != NULL && result.name[0] != '\0')
                connman_network_set_name(network, result.name);
 
-       connman_network_set_blob(network, "WiFi.SSID",
+       if (result.ssid_len != 0)
+               connman_network_set_blob(network, "WiFi.SSID",
                                                result.ssid, result.ssid_len);
 
        connman_network_set_string(network, "WiFi.Mode", mode);