diff --git a/wlan/client/src/netlink/netlink_event_adapter.c b/wlan/client/src/netlink/netlink_event_adapter.c index 8c0bd30ade25348a0bda69db629bfa56f6962fdb..723504aa22209f6e2d6ed617912e71286389b2fd 100644 --- a/wlan/client/src/netlink/netlink_event_adapter.c +++ b/wlan/client/src/netlink/netlink_event_adapter.c @@ -284,6 +284,7 @@ static void WifiEventScanResultProcess(const char *ifName) } if (InitScanResults(&scanResults) != RET_CODE_SUCCESS) { HILOG_ERROR(LOG_CORE, "%s: InitScanResults failed", __FUNCTION__); + nlmsg_free(msg); return; } arg.scanResults = &scanResults; diff --git a/wlan/hostapd/client/src/hostapd_client.c b/wlan/hostapd/client/src/hostapd_client.c index 43f0266b867c0546cafb76108a31b6dcfc73925f..2b9a5136b90f006f7c494ec8cb11f3068f0ada4f 100644 --- a/wlan/hostapd/client/src/hostapd_client.c +++ b/wlan/hostapd/client/src/hostapd_client.c @@ -43,7 +43,7 @@ int32_t HostapdRegisterEventCallback(OnReceiveFunc onRecFunc, uint32_t eventType int ifNameLen = 0; if (ifName != NULL) { - ifNameLen = strnlen(ifName, IFNAMSIZ + 1); + ifNameLen = (int)(strnlen(ifName, IFNAMSIZ + 1)); } if (onRecFunc == NULL || ifName == NULL || ifNameLen == (IFNAMSIZ + 1)) { HDF_LOGE("%s: input parameter invalid, line: %d", __FUNCTION__, __LINE__); diff --git a/wlan/wpa/client/src/wpa_client.c b/wlan/wpa/client/src/wpa_client.c index 192d8702ad6c89f97c1bdedfb57cc394a323b95f..5bcc533529bd57ae7d8bef0c0c372eff162977d3 100644 --- a/wlan/wpa/client/src/wpa_client.c +++ b/wlan/wpa/client/src/wpa_client.c @@ -43,7 +43,7 @@ int32_t WpaRegisterEventCallback(OnReceiveFunc onRecFunc, uint32_t eventType, co int ifNameLen = 0; if (ifName != NULL) { - ifNameLen = strnlen(ifName, IFNAMSIZ + 1); + ifNameLen = (int)(strnlen(ifName, IFNAMSIZ + 1)); } if (onRecFunc == NULL || ifName == NULL || ifNameLen == (IFNAMSIZ + 1)) { HDF_LOGE("%s: input parameter invalid, line: %d", __FUNCTION__, __LINE__); diff --git a/wlan/wpa/interfaces/hdi_service/service_common/wpa_hdi_util.c b/wlan/wpa/interfaces/hdi_service/service_common/wpa_hdi_util.c index 527e722172cf9ed68749ecab859178290fa75d03..b49fc2d7ceb95062349d2fd352c36d45dfb1514a 100644 --- a/wlan/wpa/interfaces/hdi_service/service_common/wpa_hdi_util.c +++ b/wlan/wpa/interfaces/hdi_service/service_common/wpa_hdi_util.c @@ -191,7 +191,7 @@ unsigned int StrtoUint(const char *input) } char *endPtr = NULL; unsigned long result = 0; - result = strtol(input, &endPtr, NUMBER_BASE); + result = (unsigned long)(strtol(input, &endPtr, NUMBER_BASE)); if (endPtr == input || *endPtr != '\0') { HDF_LOGE("StrtoUint: invalid data!"); @@ -212,7 +212,7 @@ int StrtoInt(const char *input) } char *endPtr = NULL; long result = 0; - result = strtol(input, &endPtr, NUMBER_BASE); + result = (unsigned long)strtol(input, &endPtr, NUMBER_BASE); if (endPtr == input || *endPtr != '\0') { HDF_LOGE("StrtoInt: invalid data!"); diff --git a/wlan/wpa/interfaces/hdi_service/service_common/wpa_p2p_cmd.c b/wlan/wpa/interfaces/hdi_service/service_common/wpa_p2p_cmd.c index afa62019b3a1be2934258b52f5d5714d673cb904..9fb5766fbdb8039142272fa8294491a3fdc9d2d2 100644 --- a/wlan/wpa/interfaces/hdi_service/service_common/wpa_p2p_cmd.c +++ b/wlan/wpa/interfaces/hdi_service/service_common/wpa_p2p_cmd.c @@ -102,7 +102,7 @@ static void GetFlagInfo(char *res, struct HdiP2pNetworkInfo *info) HDF_LOGE("malloc flags failed!"); return; } - info->flagsLen = falgLen + 1; + info->flagsLen = (unsigned int)falgLen + 1; if (strcpy_s((char *)info->flags, falgLen + 1, res) != EOK) { HDF_LOGE("GetFlagInfo strcpy_s failed!"); } @@ -116,7 +116,7 @@ static void GetClientListInfo(char *res, struct HdiP2pNetworkInfo *info) HDF_LOGE("malloc client list failed!"); return; } - info->clientListLen = clientLen + 1; + info->clientListLen = (unsigned int)clientLen + 1; if (strcpy_s((char *)info->clientList, clientLen + 1, res) != EOK) { HDF_LOGE("GetClientListInfo strcpy_s failed!"); } diff --git a/wlan/wpa/interfaces/hdi_service/service_common/wpa_supplicant_hal.c b/wlan/wpa/interfaces/hdi_service/service_common/wpa_supplicant_hal.c index 72462432735dad48c86b26ef44af8c67f90745fc..e836cfa7b7924218495fb485ef73a9659bfbe00c 100644 --- a/wlan/wpa/interfaces/hdi_service/service_common/wpa_supplicant_hal.c +++ b/wlan/wpa/interfaces/hdi_service/service_common/wpa_supplicant_hal.c @@ -1359,6 +1359,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) { + HDF_LOGI("GetInfoElems len = %{public}d", len); + break; + } infoElemsTemp[infoElemsSize].content = (char *)calloc(len / lenValue + 1, sizeof(char)); if (infoElemsTemp[infoElemsSize].content == NULL) { break;