[bugfix][T108][bug-view-1637]【wifi】【gsw】 The customer's required ssid length range is 6 to 32, but in reality, 1 to 5 can also be set successfully
Only Configure: No
Affected branch: GSW_V1453
Affected module: WIFI
Is it affected on IC: only ASR
Self-test: yes
Doc Update: no
Change-Id: I93a13691e0b3fcb963ec02332b635df24df88054
diff --git a/mbtk/libgsw_lib/gsw_wifi_interface_sdk.c b/mbtk/libgsw_lib/gsw_wifi_interface_sdk.c
index 63d00cd..06dae37 100644
--- a/mbtk/libgsw_lib/gsw_wifi_interface_sdk.c
+++ b/mbtk/libgsw_lib/gsw_wifi_interface_sdk.c
@@ -9,6 +9,7 @@
#include <dlfcn.h>
#define MAX_COMMAND_LEN 512
#define MAX_SSID_LEN 32
+#define MIN_SSID_LEN 6
#define MIN_PASSWORD_LEN 8
#define MAX_PASSWORD_LEN 64
#define MAX_IP_LEN 32
@@ -390,8 +391,8 @@
return GSW_HAL_NORMAL_FAIL;
}
size_t ssid_len = strlen(ssid);
- if (ssid_len > MAX_SSID_LEN) {
- LOGE("Password length must be 8-64 characters, current length: %zu", ssid_len);
+ if (ssid_len > MAX_SSID_LEN || ssid_len < MIN_SSID_LEN) {
+ LOGE("SSID length must be 6-32 characters, current length: %zu", ssid_len);
return GSW_HAL_NORMAL_FAIL;
}
// 读取现有配置
diff --git a/mbtk/test/libgsw_lib/gsw_wifi_test.c b/mbtk/test/libgsw_lib/gsw_wifi_test.c
index e80c937..e005bb3 100644
--- a/mbtk/test/libgsw_lib/gsw_wifi_test.c
+++ b/mbtk/test/libgsw_lib/gsw_wifi_test.c
@@ -57,7 +57,7 @@
void ap_setting(void)
{
int ret = 0;
- char ssid[32] = "mtbk-test";
+ char ssid[33] = "mtbk-test";
char password[64] = "12345678";
gsw_wifi_auth_e auth = GSW_WIFI_AUTH_WPA2_PSK;
int frequency = 2;
@@ -67,7 +67,7 @@
printf("AP mode configuration:\n");
printf("Enter SSID (default: mtbk-test): ");
- if (scanf("%31s", ssid) != 1)
+ if (scanf("%32s", ssid) != 1)
{
strcpy(ssid, "mtbk-test");
}