From f2316069b6ce47eef00a8ad31b3a118585bc0360 Mon Sep 17 00:00:00 2001 From: chen yi wen <15068825070@163.com> Date: Fri, 25 Jul 2025 09:14:00 +0000 Subject: [PATCH 1/3] 1 Signed-off-by: chen yi wen <15068825070@163.com> --- .../client/hdi_client/hdi_interface/wifi_hdi_util.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/client/hdi_client/hdi_interface/wifi_hdi_util.c b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/client/hdi_client/hdi_interface/wifi_hdi_util.c index 8e15c7677..1abc093bd 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/client/hdi_client/hdi_interface/wifi_hdi_util.c +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/client/hdi_client/hdi_interface/wifi_hdi_util.c @@ -435,6 +435,10 @@ static void GetInfoElems(int length, int end, char *srcBuf, ScanInfo *pcmd) } len = last - start - 1; infoElemsTemp[infoElemsSize].size = len/lenValue; + if ((len / lenValue + 1) <= 0) { + LOGI("GetInfoElems len is error"); + break; + } infoElemsTemp[infoElemsSize].content = (char *)calloc(len/lenValue+1, sizeof(char)); if (infoElemsTemp[infoElemsSize].content == NULL) { break; @@ -1052,7 +1056,7 @@ int GetScanResultText(const struct WifiScanResultExt *scanResult, } pos = buf; - end = buf + bufLen; + end = buf + bufLen - 1; ret = HdiTxtPrintf(pos, end - pos, MACSTR "\t%d\t%d\t", MAC2STR(scanResult->bssid), scanResult->freq, scanResult->level); -- Gitee From 33ac5332158c272c677cc6c34989432f5473f061 Mon Sep 17 00:00:00 2001 From: chen yi wen <15068825070@163.com> Date: Fri, 25 Jul 2025 09:15:19 +0000 Subject: [PATCH 2/3] 1 Signed-off-by: chen yi wen <15068825070@163.com> --- .../client/hdi_client/hdi_interface/wifi_hdi_wpa_proxy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/client/hdi_client/hdi_interface/wifi_hdi_wpa_proxy.c b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/client/hdi_client/hdi_interface/wifi_hdi_wpa_proxy.c index d226d1540..e40831a99 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/client/hdi_client/hdi_interface/wifi_hdi_wpa_proxy.c +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/client/hdi_client/hdi_interface/wifi_hdi_wpa_proxy.c @@ -822,7 +822,7 @@ WifiErrorNo SetHdiApIfaceName(const char *ifaceName) return WIFI_HAL_OPT_FAILED; } - if (strncmp(ifaceName, AP_IFNAME_COEX, IFACENAME_LEN -1) == 0) { + if (strncmp(ifaceName, AP_IFNAME_COEX, strlen(AP_IFNAME_COEX)) == 0) { if (strcpy_s(g_apCfgName, CFGNAME_LEN, WIFI_COEX_CFG) != EOK || strcpy_s(g_apIfaceName, IFACENAME_LEN, AP_IFNAME_COEX) != EOK || strcpy_s(g_hostapdCfg, CTRL_LEN, HOSTAPD_DEFAULT_CFG_COEX) != EOK) { -- Gitee From ca26778dfb89809d56bdea706f0a1a3dd396bfa6 Mon Sep 17 00:00:00 2001 From: chen yi wen <15068825070@163.com> Date: Fri, 25 Jul 2025 09:15:28 +0000 Subject: [PATCH 3/3] 1 Signed-off-by: chen yi wen <15068825070@163.com> --- .../wifi_native/wifi_hal_interface/wifi_sta_hal_interface.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/wifi_hal_interface/wifi_sta_hal_interface.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/wifi_hal_interface/wifi_sta_hal_interface.cpp index f9d409859..8c50b9a9d 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/wifi_hal_interface/wifi_sta_hal_interface.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_native/wifi_hal_interface/wifi_sta_hal_interface.cpp @@ -312,8 +312,7 @@ static void ParseScanInfo(std::vector &scanResultsInfo, std::ve WifiScanResultExt wifiScanResultExt = {0}; ConvertScanResultsInfo(wifiScanResultExt, scanResult); char buff[HDI_SCAN_RESULTS_MAX_LEN] = {0}; - int buffLen = HDI_SCAN_RESULTS_MAX_LEN; - buffLen = GetScanResultText(&wifiScanResultExt, &elems, buff, buffLen); + int buffLen = GetScanResultText(&wifiScanResultExt, &elems, buff, HDI_SCAN_RESULTS_MAX_LEN); ScanInfo scanInfo; if (memset_s(&scanInfo, sizeof(scanInfo), 0, sizeof(scanInfo)) != EOK) { LOGE("%{public}s: memset_s is failed", __func__); -- Gitee