1
0
Эх сурвалжийг харах

[drivers/wlan] Fix the problem that the password is empty

Signed-off-by: MurphyZhao <d2014zjt@163.com>
MurphyZhao 6 жил өмнө
parent
commit
6a85a624d7

+ 12 - 1
components/drivers/wlan/wlan_dev.c

@@ -117,7 +117,18 @@ int rt_wlan_softap(struct rt_wlan_device *device, struct rt_wlan_info *info, cha
         rt_wlan_set_info(device, info);
         rt_wlan_set_info(device, info);
     }
     }
 
 
-    rt_strncpy((char *)device->key, (char *)password, sizeof(device->key) - 1);
+    if (password == NULL)
+    {
+        memset(device->key, 0, sizeof(device->key));
+    }
+    else
+    {
+        if (rt_strlen(password) > sizeof(device->key) - 1)
+        {
+            rt_kprintf("WARN input password is longer than %d bytes.", sizeof(device->key) - 1);
+        }
+        rt_strncpy((char *)device->key, (char *)password, sizeof(device->key) - 1);
+    }
 
 
     result = rt_device_control(RT_DEVICE(device), WIFI_SOFTAP, (void *)password);
     result = rt_device_control(RT_DEVICE(device), WIFI_SOFTAP, (void *)password);