fix: 内存操作函数使用安全函数并增加返回值判断

Signed-off-by: xiezhipeng <xiezhipeng@talkweb.com.cn>
Change-Id: Ic55764f600c08b247cdacd12ea5152d059022247
This commit is contained in:
xiezhipeng
2022-08-08 14:05:29 +08:00
parent 7ff36536e0
commit dd67a103f5
2 changed files with 17 additions and 6 deletions
@@ -78,6 +78,7 @@ BtError GetLocalAddr(unsigned char *mac, unsigned int len)
}
ret = memcpy_s(mac, len, esp_bt_dev_get_address(), len);
if (!ret) {
printf("memcpy_s fail!!\n");
return ret;
}
return BT_SUCCESS;
@@ -118,7 +119,12 @@ BtError BleGattcDisconnect(int clientId, int conn_id)
BtError BleGapDisconnect(BdAddr remote_device)
{
uint8_t BdAddrs[OHOS_BD_ADDR_LEN];
memcpy_s(BdAddrs, sizeof(BdAddrs), remote_device.addr, sizeof(remote_device.addr));
int ret = 0;
ret = memcpy_s(BdAddrs, sizeof(BdAddrs), remote_device.addr, sizeof(remote_device.addr));
if (!ret) {
printf("memcpy_s fail!!\n");
return ret;
}
return esp_ble_gap_disconnect(BdAddrs);
}
@@ -232,7 +238,12 @@ BtError BleGattcRegisterForNotify(GattInterfaceType gattc_if,
uint16_t handle)
{
uint8_t BdAddrs[OHOS_BD_ADDR_LEN];
memcpy_s(BdAddrs, sizeof(BdAddrs), server_bda.addr, sizeof(server_bda.addr));
int ret = 0;
ret = memcpy_s(BdAddrs, sizeof(BdAddrs), server_bda.addr, sizeof(server_bda.addr));
if (!ret) {
printf("memcpy_s fail!!\n");
return ret;
}
return esp_ble_gattc_register_for_notify(gattc_if, BdAddrs, handle);
}
@@ -354,7 +354,7 @@ int DeviceWifiStart(void)
{
esp_err_t err;
DevWifiInfo_t *info = &DevWifiInfo;
memset_s(info, sizeof(DevWifiInfo_t), 0, sizeof(*info));
MEMCPY_S(info, sizeof(DevWifiInfo_t), 0, sizeof(*info));
for (unsigned i = 0; i < WIFI_MAX_CONFIG_SIZE; i++) {
info->config[i].netId = WIFI_CONFIG_INVALID;
}
@@ -557,7 +557,7 @@ WifiErrorCode RemoveDevice(int networkId)
}
WifiLock();
memset_s(&info->config[networkId], sizeof(WifiDeviceConfig), 0, sizeof(WifiDeviceConfig));
MEMCPY_S(&info->config[networkId], sizeof(WifiDeviceConfig), 0, sizeof(WifiDeviceConfig));
info->config[networkId].netId = WIFI_CONFIG_INVALID;
WifiUnlock();
return WIFI_SUCCESS;
@@ -726,7 +726,7 @@ WifiErrorCode GetLinkedInfo(WifiLinkedInfo *result)
if (!result) {
return ERROR_WIFI_INVALID_ARGS;
}
memset_s(result, sizeof(WifiLinkedInfo), 0, sizeof(WifiLinkedInfo));
MEMCPY_S(result, sizeof(WifiLinkedInfo), 0, sizeof(WifiLinkedInfo));
if (info->staStatus != WIFI_ACTIVE)
return ERROR_WIFI_NOT_STARTED;
@@ -780,7 +780,7 @@ WifiErrorCode GetStationList(StationInfo *result, unsigned int *size)
if (*size < staNum) {
staNum = *size;
}
memset_s(result, (sizeof(result[0]) * staNum), 0, sizeof(result[0]) * staNum);
MEMCPY_S(result, (sizeof(result[0]) * staNum), 0, sizeof(result[0]) * staNum);
for (unsigned int i = 0; i < staNum; i++) {
MEMCPY_S(result[i].macAddress, sizeof(result[i].macAddress),
wifi_sta_list.sta[i].mac, sizeof(wifi_sta_list.sta[i].mac));