From de2e630d81ce7666858cbbbff0b932263be60b52 Mon Sep 17 00:00:00 2001 From: xiaosi Date: Fri, 25 Nov 2022 19:14:01 +0800 Subject: [PATCH 1/3] ReadCString Signed-off-by: xiaosi --- .../src/wifi_device_callback_stub.cpp | 14 +++-- .../wifi_standard/src/wifi_device_proxy.cpp | 55 +++++++++++------ .../src/wifi_hotspot_callback_stub.cpp | 20 ++++-- .../wifi_standard/src/wifi_hotspot_proxy.cpp | 27 +++++--- .../src/wifi_p2p_callback_stub.cpp | 30 ++++++--- .../wifi_standard/src/wifi_p2p_proxy.cpp | 41 +++++++++---- .../wifi_standard/src/wifi_scan_proxy.cpp | 10 ++- .../wifi_manage/wifi_device_stub.cpp | 60 ++++++++++++------ .../wifi_manage/wifi_hotspot_stub.cpp | 61 ++++++++++++++----- .../wifi_manage/wifi_p2p_stub.cpp | 59 ++++++++++++------ .../wifi_manage/wifi_scan_stub.cpp | 9 ++- 11 files changed, 274 insertions(+), 112 deletions(-) diff --git a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_device_callback_stub.cpp b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_device_callback_stub.cpp index 44902768c..3d2594436 100644 --- a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_device_callback_stub.cpp +++ b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_device_callback_stub.cpp @@ -141,16 +141,20 @@ int WifiDeviceCallBackStub::RemoteOnWifiStateChanged(uint32_t code, MessageParce int WifiDeviceCallBackStub::RemoteOnWifiConnectionChanged(uint32_t code, MessageParcel &data, MessageParcel &reply) { WIFI_LOGD("run %{public}s code %{public}u, datasize %{public}zu", __func__, code, data.GetRawDataSize()); + const char *readStr = nullptr; int state = data.ReadInt32(); WifiLinkedInfo info; info.networkId = data.ReadInt32(); - info.ssid = data.ReadCString(); - info.bssid = data.ReadCString(); + readStr = data.ReadCString(); + info.ssid = (readStr != nullptr) ? readStr : ""; + readStr = data.ReadCString(); + info.bssid = (readStr != nullptr) ? readStr : ""; info.rssi = data.ReadInt32(); info.band = data.ReadInt32(); info.frequency = data.ReadInt32(); info.linkSpeed = data.ReadInt32(); - info.macAddress = data.ReadCString(); + readStr = data.ReadCString(); + info.macAddress = (readStr != nullptr) ? readStr : ""; info.ipAddress = data.ReadInt32(); int tmpConnState = data.ReadInt32(); if (tmpConnState >= 0 && tmpConnState <= int(ConnState::FAILED)) { @@ -193,8 +197,10 @@ int WifiDeviceCallBackStub::RemoteOnWifiRssiChanged(uint32_t code, MessageParcel int WifiDeviceCallBackStub::RemoteOnWifiWpsStateChanged(uint32_t code, MessageParcel &data, MessageParcel &reply) { WIFI_LOGD("run %{public}s code %{public}u, datasize %{public}zu", __func__, code, data.GetRawDataSize()); + const char *readStr = nullptr; int state = data.ReadInt32(); - std::string pinCode = data.ReadCString(); + readStr = data.ReadCString(); + std::string pinCode = (readStr != nullptr) ? readStr : ""; OnWifiWpsStateChanged(state, pinCode); reply.WriteInt32(0); /* Reply 0 to indicate that no exception occurs. */ return 0; diff --git a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_device_proxy.cpp b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_device_proxy.cpp index a449ffa13..8e2e5e8a9 100644 --- a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_device_proxy.cpp +++ b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_device_proxy.cpp @@ -224,23 +224,29 @@ void WifiDeviceProxy::ReadIpAddress(MessageParcel &reply, WifiIpAddress &address void WifiDeviceProxy::ParseDeviceConfigs(MessageParcel &reply, std::vector &result) { + const char *readStr = nullptr; int retSize = reply.ReadInt32(); for (int i = 0; i < retSize; ++i) { WifiDeviceConfig config; config.networkId = reply.ReadInt32(); config.status = reply.ReadInt32(); - config.bssid = reply.ReadCString(); - config.ssid = reply.ReadCString(); + readStr = reply.ReadCString(); + config.bssid = (readStr != nullptr) ? readStr : ""; + readStr = reply.ReadCString(); + config.ssid = (readStr != nullptr) ? readStr : ""; config.band = reply.ReadInt32(); config.channel = reply.ReadInt32(); config.frequency = reply.ReadInt32(); config.level = reply.ReadInt32(); config.isPasspoint = reply.ReadBool(); config.isEphemeral = reply.ReadBool(); - config.preSharedKey = reply.ReadCString(); - config.keyMgmt = reply.ReadCString(); + readStr = reply.ReadCString(); + config.preSharedKey = (readStr != nullptr) ? readStr : ""; + readStr = reply.ReadCString(); + config.keyMgmt = (readStr != nullptr) ? readStr : ""; for (int j = 0; j < WEPKEYS_SIZE; j++) { - config.wepKeys[j] = reply.ReadCString(); + readStr = reply.ReadCString(); + config.wepKeys[j] = (readStr != nullptr) ? readStr : ""; } config.wepTxKeyIndex = reply.ReadInt32(); config.priority = reply.ReadInt32(); @@ -253,15 +259,22 @@ void WifiDeviceProxy::ParseDeviceConfigs(MessageParcel &reply, std::vector= 0) && (tmpConnState <= (int)ConnState::FAILED)) { @@ -685,6 +702,7 @@ ErrCode WifiDeviceProxy::SetCountryCode(const std::string &countryCode) ErrCode WifiDeviceProxy::GetCountryCode(std::string &countryCode) { + const char *readStr = nullptr; if (mRemoteDied) { WIFI_LOGD("failed to `%{public}s`,remote service is died!", __func__); return WIFI_OPT_FAILED; @@ -706,7 +724,8 @@ ErrCode WifiDeviceProxy::GetCountryCode(std::string &countryCode) return ErrCode(ret); } - countryCode = reply.ReadCString(); + readStr = reply.ReadCString(); + countryCode = (readStr != nullptr) ? readStr : ""; return WIFI_OPT_SUCCESS; } @@ -802,6 +821,7 @@ ErrCode WifiDeviceProxy::GetDeviceMacAddress(std::string &result) WIFI_LOGD("failed to `%{public}s`,remote service is died!", __func__); return WIFI_OPT_FAILED; } + const char *readStr = nullptr; MessageOption option; MessageParcel data; MessageParcel reply; @@ -821,7 +841,8 @@ ErrCode WifiDeviceProxy::GetDeviceMacAddress(std::string &result) if (ErrCode(ret) != WIFI_OPT_SUCCESS) { return ErrCode(ret); } - result = reply.ReadCString(); + readStr = reply.ReadCString(); + result = (readStr != nullptr) ? readStr : ""; return WIFI_OPT_SUCCESS; } diff --git a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_hotspot_callback_stub.cpp b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_hotspot_callback_stub.cpp index 1de0a6eca..1b691510c 100644 --- a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_hotspot_callback_stub.cpp +++ b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_hotspot_callback_stub.cpp @@ -73,10 +73,14 @@ int WifiHotspotCallbackStub::RemoteOnHotspotStateChanged(uint32_t code, MessageP int WifiHotspotCallbackStub::RemoteOnHotspotStaJoin(uint32_t code, MessageParcel &data, MessageParcel &reply) { WIFI_LOGD("run %{public}s code %{public}u, datasize %{public}zu", __func__, code, data.GetRawDataSize()); + const char *readStr = nullptr; StationInfo info; - info.deviceName = data.ReadCString(); - info.bssid = data.ReadCString(); - info.ipAddr = data.ReadCString(); + readStr = data.ReadCString(); + info.deviceName = (readStr != nullptr) ? readStr : ""; + readStr = data.ReadCString(); + info.bssid = (readStr != nullptr) ? readStr : ""; + readStr = data.ReadCString(); + info.ipAddr = (readStr != nullptr) ? readStr : ""; OnHotspotStaJoin(info); reply.WriteInt32(0); return 0; @@ -85,10 +89,14 @@ int WifiHotspotCallbackStub::RemoteOnHotspotStaJoin(uint32_t code, MessageParcel int WifiHotspotCallbackStub::RemoteOnHotspotStaLeave(uint32_t code, MessageParcel &data, MessageParcel &reply) { WIFI_LOGD("run %{public}s code %{public}u, datasize %{public}zu", __func__, code, data.GetRawDataSize()); + const char *readStr = nullptr; StationInfo info; - info.deviceName = data.ReadCString(); - info.bssid = data.ReadCString(); - info.ipAddr = data.ReadCString(); + readStr = data.ReadCString(); + info.deviceName = (readStr != nullptr) ? readStr : ""; + readStr = data.ReadCString(); + info.bssid = (readStr != nullptr) ? readStr : ""; + readStr = data.ReadCString(); + info.ipAddr = (readStr != nullptr) ? readStr : ""; OnHotspotStaLeave(info); reply.WriteInt32(0); return 0; diff --git a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_hotspot_proxy.cpp b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_hotspot_proxy.cpp index 9adb814e4..a455df1aa 100644 --- a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_hotspot_proxy.cpp +++ b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_hotspot_proxy.cpp @@ -99,6 +99,7 @@ ErrCode WifiHotspotProxy::GetHotspotConfig(HotspotConfig &result) WIFI_LOGD("failed to `%{public}s`,remote service is died!", __func__); return WIFI_OPT_FAILED; } + const char *readStr = nullptr; MessageOption option; MessageParcel data; MessageParcel reply; @@ -118,11 +119,13 @@ ErrCode WifiHotspotProxy::GetHotspotConfig(HotspotConfig &result) return ErrCode(ret); } - result.SetSsid(reply.ReadCString()); + readStr = reply.ReadCString(); + result.SetSsid((readStr != nullptr) ? readStr : ""); result.SetSecurityType(static_cast(reply.ReadInt32())); result.SetBand(static_cast(reply.ReadInt32())); result.SetChannel(reply.ReadInt32()); - result.SetPreSharedKey(reply.ReadCString()); + readStr = reply.ReadCString(); + result.SetPreSharedKey((readStr != nullptr) ? readStr : ""); result.SetMaxConn(reply.ReadInt32()); return WIFI_OPT_SUCCESS; @@ -163,6 +166,7 @@ ErrCode WifiHotspotProxy::GetStationList(std::vector &result) WIFI_LOGD("failed to `%{public}s`,remote service is died!", __func__); return WIFI_OPT_FAILED; } + const char *readStr = nullptr; MessageOption option; MessageParcel data; MessageParcel reply; @@ -184,9 +188,12 @@ ErrCode WifiHotspotProxy::GetStationList(std::vector &result) int size = reply.ReadInt32(); for (int i = 0; i < size; i++) { StationInfo info; - info.deviceName = reply.ReadCString(); - info.bssid = reply.ReadCString(); - info.ipAddr = reply.ReadCString(); + readStr = reply.ReadCString(); + info.deviceName = (readStr != nullptr) ? readStr : ""; + readStr = reply.ReadCString(); + info.bssid = (readStr != nullptr) ? readStr : ""; + readStr = reply.ReadCString(); + info.ipAddr = (readStr != nullptr) ? readStr : ""; result.emplace_back(info); } @@ -267,6 +274,7 @@ ErrCode WifiHotspotProxy::GetBlockLists(std::vector &infos) WIFI_LOGD("failed to `%{public}s`,remote service is died!", __func__); return WIFI_OPT_FAILED; } + const char *readStr = nullptr; MessageOption option; MessageParcel data; MessageParcel reply; @@ -288,9 +296,12 @@ ErrCode WifiHotspotProxy::GetBlockLists(std::vector &infos) int size = reply.ReadInt32(); for (int i = 0; i < size; i++) { StationInfo info; - info.deviceName = reply.ReadCString(); - info.bssid = reply.ReadCString(); - info.ipAddr = reply.ReadCString(); + readStr = reply.ReadCString(); + info.deviceName = (readStr != nullptr) ? readStr : ""; + readStr = reply.ReadCString(); + info.bssid = (readStr != nullptr) ? readStr : ""; + readStr = reply.ReadCString(); + info.ipAddr = (readStr != nullptr) ? readStr : ""; infos.push_back(info); } return WIFI_OPT_SUCCESS; diff --git a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_p2p_callback_stub.cpp b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_p2p_callback_stub.cpp index b4e4c9f3c..b89ee55df 100644 --- a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_p2p_callback_stub.cpp +++ b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_p2p_callback_stub.cpp @@ -177,10 +177,15 @@ void WifiP2pCallbackStub::RemoteOnP2pPersistentGroupsChanged(uint32_t code, Mess void WifiP2pCallbackStub::ReadWifiP2pDeviceData(MessageParcel &data, WifiP2pDevice &device) { - device.SetDeviceName(data.ReadCString()); - device.SetDeviceAddress(data.ReadCString()); - device.SetPrimaryDeviceType(data.ReadCString()); - device.SetSecondaryDeviceType(data.ReadCString()); + const char *readStr = nullptr; + readStr = data.ReadCString(); + device.SetDeviceName((readStr != nullptr) ? readStr : ""); + readStr = data.ReadCString(); + device.SetDeviceAddress((readStr != nullptr) ? readStr : ""); + readStr = data.ReadCString(); + device.SetPrimaryDeviceType((readStr != nullptr) ? readStr : ""); + readStr = data.ReadCString(); + device.SetSecondaryDeviceType((readStr != nullptr) ? readStr : ""); device.SetP2pDeviceStatus(static_cast(data.ReadInt32())); WifiP2pWfdInfo wfdInfo; wfdInfo.SetWfdEnabled(data.ReadBool()); @@ -222,17 +227,22 @@ void WifiP2pCallbackStub::RemoteOnP2pPeersChanged(uint32_t code, MessageParcel & void WifiP2pCallbackStub::RemoteOnP2pServicesChanged(uint32_t code, MessageParcel &data, MessageParcel &reply) { WIFI_LOGD("run %{public}s code %{public}u, datasize %{public}zu", __func__, code, data.GetRawDataSize()); + const char *readStr = nullptr; std::vector srvInfo; int size = data.ReadInt32(); for (int i = 0; i < size; ++i) { WifiP2pServiceInfo info; - info.SetServiceName(data.ReadCString()); - info.SetDeviceAddress(data.ReadCString()); + readStr = data.ReadCString(); + info.SetServiceName((readStr != nullptr) ? readStr : ""); + readStr = data.ReadCString(); + info.SetDeviceAddress((readStr != nullptr) ? readStr : ""); info.SetServicerProtocolType(static_cast(data.ReadInt32())); int length = data.ReadInt32(); std::vector queryList; for (int j = 0; j < length; j++) { - queryList.push_back(data.ReadCString()); + readStr = data.ReadCString(); + std::string queryStr = (readStr != nullptr) ? readStr : ""; + queryList.push_back(queryStr); } info.SetQueryList(queryList); srvInfo.emplace_back(info); @@ -245,10 +255,12 @@ void WifiP2pCallbackStub::RemoteOnP2pServicesChanged(uint32_t code, MessageParce void WifiP2pCallbackStub::RemoteOnP2pConnectionChanged(uint32_t code, MessageParcel &data, MessageParcel &reply) { WIFI_LOGD("run %{public}s code %{public}u, datasize %{public}zu", __func__, code, data.GetRawDataSize()); + const char *readStr = nullptr; WifiP2pInfo info; info.SetConnectState(static_cast(data.ReadInt32())); info.SetIsGroupOwner(data.ReadBool()); - info.SetIsGroupOwnerAddress(data.ReadCString()); + readStr = data.ReadCString(); + info.SetIsGroupOwnerAddress((readStr != nullptr) ? readStr : ""); OnP2pConnectionChanged(info); reply.WriteInt32(0); return; @@ -273,4 +285,4 @@ void WifiP2pCallbackStub::RemoteOnP2pActionResult(uint32_t code, MessageParcel & return; } } // namespace Wifi -} // namespace OHOS \ No newline at end of file +} // namespace OHOS diff --git a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_p2p_proxy.cpp b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_p2p_proxy.cpp index 8950ce077..f5ca7e703 100644 --- a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_p2p_proxy.cpp +++ b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_p2p_proxy.cpp @@ -367,13 +367,17 @@ ErrCode WifiP2pProxy::DeleteGroup(const WifiP2pGroupInfo &group) void WifiP2pProxy::ReadWifiP2pServiceInfo(MessageParcel &reply, WifiP2pServiceInfo &info) const { - info.SetServiceName(reply.ReadCString()); - info.SetDeviceAddress(reply.ReadCString()); + const char *readStr = nullptr; + readStr = reply.ReadCString(); + info.SetServiceName((readStr != nullptr) ? readStr : ""); + readStr = reply.ReadCString(); + info.SetDeviceAddress((readStr != nullptr) ? readStr : ""); info.SetServicerProtocolType(static_cast(reply.ReadInt32())); std::vector queryList; int size = reply.ReadInt32(); for (int i = 0; i < size; i++) { - std::string str = reply.ReadCString(); + readStr = reply.ReadCString(); + std::string str = (readStr != nullptr) ? readStr : ""; queryList.push_back(str); } info.SetQueryList(queryList); @@ -425,10 +429,15 @@ void WifiP2pProxy::WriteWifiP2pDeviceData(MessageParcel &data, const WifiP2pDevi void WifiP2pProxy::ReadWifiP2pDeviceData(MessageParcel &reply, WifiP2pDevice &device) const { - device.SetDeviceName(reply.ReadCString()); - device.SetDeviceAddress(reply.ReadCString()); - device.SetPrimaryDeviceType(reply.ReadCString()); - device.SetSecondaryDeviceType(reply.ReadCString()); + const char *readStr = nullptr; + readStr = reply.ReadCString(); + device.SetDeviceName((readStr != nullptr) ? readStr : ""); + readStr = reply.ReadCString(); + device.SetDeviceAddress((readStr != nullptr) ? readStr : ""); + readStr = reply.ReadCString(); + device.SetPrimaryDeviceType((readStr != nullptr) ? readStr : ""); + readStr = reply.ReadCString(); + device.SetSecondaryDeviceType((readStr != nullptr) ? readStr : ""); device.SetP2pDeviceStatus(static_cast(reply.ReadInt32())); WifiP2pWfdInfo wfdInfo; wfdInfo.SetWfdEnabled(reply.ReadBool()); @@ -463,18 +472,23 @@ void WifiP2pProxy::WriteWifiP2pGroupData(MessageParcel &data, const WifiP2pGroup void WifiP2pProxy::ReadWifiP2pGroupData(MessageParcel &reply, WifiP2pGroupInfo &info) const { + const char *readStr = nullptr; info.SetIsGroupOwner(reply.ReadBool()); WifiP2pDevice device; ReadWifiP2pDeviceData(reply, device); info.SetOwner(device); - info.SetPassphrase(reply.ReadCString()); - info.SetInterface(reply.ReadCString()); - info.SetGroupName(reply.ReadCString()); + readStr = reply.ReadCString(); + info.SetPassphrase((readStr != nullptr) ? readStr : ""); + readStr = reply.ReadCString(); + info.SetInterface((readStr != nullptr) ? readStr : ""); + readStr = reply.ReadCString(); + info.SetGroupName((readStr != nullptr) ? readStr : ""); info.SetFrequency(reply.ReadInt32()); info.SetIsPersistent(reply.ReadBool()); info.SetP2pGroupStatus(static_cast(reply.ReadInt32())); info.SetNetworkId(reply.ReadInt32()); - info.SetGoIpAddress(reply.ReadCString()); + readStr = reply.ReadCString(); + info.SetGoIpAddress((readStr != nullptr) ? readStr : ""); int size = reply.ReadInt32(); for (auto it = 0; it < size; ++it) { WifiP2pDevice cliDev; @@ -569,7 +583,8 @@ ErrCode WifiP2pProxy::QueryP2pInfo(WifiP2pInfo &connInfo) } connInfo.SetConnectState(static_cast(reply.ReadInt32())); connInfo.SetIsGroupOwner(reply.ReadBool()); - connInfo.SetIsGroupOwnerAddress(reply.ReadCString()); + const char *groupOwnerAddr = reply.ReadCString(); + connInfo.SetIsGroupOwnerAddress((groupOwnerAddr != nullptr) ? groupOwnerAddr : ""); return WIFI_OPT_SUCCESS; } @@ -911,4 +926,4 @@ void WifiP2pProxy::OnRemoteDied(const wptr& remoteObject) g_wifiP2pCallbackStub.SetRemoteDied(true); } } // namespace Wifi -} // namespace OHOS \ No newline at end of file +} // namespace OHOS diff --git a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_scan_proxy.cpp b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_scan_proxy.cpp index 51638c45c..b8db571ed 100755 --- a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_scan_proxy.cpp +++ b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_scan_proxy.cpp @@ -181,6 +181,7 @@ ErrCode WifiScanProxy::GetScanInfoList(std::vector &result) WIFI_LOGD("failed to `%{public}s`,remote service is died!", __func__); return WIFI_OPT_FAILED; } + const char *readStr = nullptr; MessageOption option; MessageParcel data; MessageParcel reply; @@ -201,9 +202,12 @@ ErrCode WifiScanProxy::GetScanInfoList(std::vector &result) int tmpsize = reply.ReadInt32(); for (int i = 0; i < tmpsize; ++i) { WifiScanInfo info; - info.bssid = reply.ReadCString(); - info.ssid = reply.ReadCString(); - info.capabilities = reply.ReadCString(); + readStr = reply.ReadCString(); + info.bssid = (readStr != nullptr) ? readStr : ""; + reply.ReadCString(); + info.ssid = (readStr != nullptr) ? readStr : ""; + reply.ReadCString(); + info.capabilities = (readStr != nullptr) ? readStr : ""; info.frequency = reply.ReadInt32(); info.rssi = reply.ReadInt32(); info.timestamp = reply.ReadInt64(); diff --git a/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_stub.cpp b/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_stub.cpp index 8b18429cf..2ba955e74 100644 --- a/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_stub.cpp +++ b/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_stub.cpp @@ -121,20 +121,26 @@ void WifiDeviceStub::OnAddDeviceConfig(uint32_t code, MessageParcel &data, Messa void WifiDeviceStub::ReadWifiDeviceConfig(MessageParcel &data, WifiDeviceConfig &config) { + const char *readStr = nullptr; config.networkId = data.ReadInt32(); config.status = data.ReadInt32(); - config.bssid = data.ReadCString(); - config.ssid = data.ReadCString(); + readStr = data.ReadCString(); + config.bssid = (readStr != nullptr) ? readStr : ""; + readStr = data.ReadCString(); + config.ssid = (readStr != nullptr) ? readStr : ""; config.band = data.ReadInt32(); config.channel = data.ReadInt32(); config.frequency = data.ReadInt32(); config.level = data.ReadInt32(); config.isPasspoint = data.ReadBool(); config.isEphemeral = data.ReadBool(); - config.preSharedKey = data.ReadCString(); - config.keyMgmt = data.ReadCString(); + readStr = data.ReadCString(); + config.preSharedKey = (readStr != nullptr) ? readStr : ""; + readStr = data.ReadCString(); + config.keyMgmt = (readStr != nullptr) ? readStr : ""; for (int i = 0; i < WEPKEYS_SIZE; i++) { - config.wepKeys[i] = data.ReadCString(); + readStr = data.ReadCString(); + config.wepKeys[i] = (readStr != nullptr) ? readStr : ""; } config.wepTxKeyIndex = data.ReadInt32(); config.priority = data.ReadInt32(); @@ -147,15 +153,22 @@ void WifiDeviceStub::ReadWifiDeviceConfig(MessageParcel &data, WifiDeviceConfig ReadIpAddress(data, config.wifiIpConfig.staticIpAddress.gateway); ReadIpAddress(data, config.wifiIpConfig.staticIpAddress.dnsServer1); ReadIpAddress(data, config.wifiIpConfig.staticIpAddress.dnsServer2); - config.wifiIpConfig.staticIpAddress.domains = data.ReadCString(); - config.wifiEapConfig.eap = data.ReadCString(); - config.wifiEapConfig.identity = data.ReadCString(); - config.wifiEapConfig.password = data.ReadCString(); + readStr = data.ReadCString(); + config.wifiIpConfig.staticIpAddress.domains = (readStr != nullptr) ? readStr : ""; + readStr = data.ReadCString(); + config.wifiEapConfig.eap = (readStr != nullptr) ? readStr : ""; + readStr = data.ReadCString(); + config.wifiEapConfig.identity = (readStr != nullptr) ? readStr : ""; + readStr = data.ReadCString(); + config.wifiEapConfig.password = (readStr != nullptr) ? readStr : ""; config.wifiProxyconfig.configureMethod = ConfigureProxyMethod(data.ReadInt32()); - config.wifiProxyconfig.autoProxyConfig.pacWebAddress = data.ReadCString(); - config.wifiProxyconfig.manualProxyConfig.serverHostName = data.ReadCString(); + readStr = data.ReadCString(); + config.wifiProxyconfig.autoProxyConfig.pacWebAddress = (readStr != nullptr) ? readStr : ""; + readStr = data.ReadCString(); + config.wifiProxyconfig.manualProxyConfig.serverHostName = (readStr != nullptr) ? readStr : ""; config.wifiProxyconfig.manualProxyConfig.serverPort = data.ReadInt32(); - config.wifiProxyconfig.manualProxyConfig.exclusionObjectList = data.ReadCString(); + readStr = data.ReadCString(); + config.wifiProxyconfig.manualProxyConfig.exclusionObjectList = (readStr != nullptr) ? readStr : ""; config.wifiPrivacySetting = WifiPrivacyConfig(data.ReadInt32()); return; } @@ -344,12 +357,19 @@ void WifiDeviceStub::OnDisconnect(uint32_t code, MessageParcel &data, MessagePar void WifiDeviceStub::OnStartWps(uint32_t code, MessageParcel &data, MessageParcel &reply) { WIFI_LOGD("run %{public}s code %{public}u, datasize %{public}zu", __func__, code, data.GetRawDataSize()); + ErrCode ret = WIFI_OPT_FAILED; WpsConfig config; config.setup = SetupMethod(data.ReadInt32()); - config.pin = data.ReadCString(); - config.bssid = data.ReadCString(); + const char *pin = data.ReadCString(); + const char *bssid = data.ReadCString(); + if (pin == nullptr || bssid == nullptr) { + ret = WIFI_OPT_INVALID_PARAM; + } else { + config.pin = pin; + config.bssid = bssid; + ret = StartWps(config); + } - ErrCode ret = StartWps(config); reply.WriteInt32(0); reply.WriteInt32(ret); @@ -447,8 +467,14 @@ void WifiDeviceStub::OnGetIpInfo(uint32_t code, MessageParcel &data, MessageParc void WifiDeviceStub::OnSetCountryCode(uint32_t code, MessageParcel &data, MessageParcel &reply) { WIFI_LOGD("run %{public}s code %{public}u, datasize %{public}zu", __func__, code, data.GetRawDataSize()); - std::string countrycode = data.ReadCString(); - ErrCode ret = SetCountryCode(countrycode); + ErrCode ret = WIFI_OPT_FAILED; + const char *countrycode = data.ReadCString(); + if (countrycode == nullptr) { + ret = WIFI_OPT_INVALID_PARAM; + } else { + std::string countrycode = countrycode; + ret = SetCountryCode(countrycode); + } reply.WriteInt32(0); reply.WriteInt32(ret); diff --git a/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_stub.cpp b/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_stub.cpp index f14539957..fbc5144df 100644 --- a/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_stub.cpp +++ b/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_stub.cpp @@ -120,14 +120,21 @@ void WifiHotspotStub::OnGetHotspotConfig( void WifiHotspotStub::OnSetApConfigWifi(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) { WIFI_LOGD("run %{public}s code %{public}u, datasize %zu", __func__, code, data.GetRawDataSize()); + ErrCode ret = WIFI_OPT_FAILED; HotspotConfig config; - config.SetSsid(data.ReadCString()); + const char *ssid = data.ReadCString(); config.SetSecurityType(static_cast(data.ReadInt32())); config.SetBand(static_cast(data.ReadInt32())); config.SetChannel(data.ReadInt32()); - config.SetPreSharedKey(data.ReadCString()); + const char *preSharedKey = data.ReadCString(); config.SetMaxConn(data.ReadInt32()); - ErrCode ret = SetHotspotConfig(config); + if (ssid == nullptr || preSharedKey == nullptr) { + ret = WIFI_OPT_INVALID_PARAM; + } else { + config.SetSsid(ssid); + config.SetPreSharedKey(preSharedKey); + ret = SetHotspotConfig(config); + } reply.WriteInt32(0); reply.WriteInt32(ret); @@ -158,11 +165,19 @@ void WifiHotspotStub::OnGetStationList(uint32_t code, MessageParcel &data, Messa void WifiHotspotStub::OnDisassociateSta(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) { WIFI_LOGD("run %{public}s code %{public}u, datasize %zu", __func__, code, data.GetRawDataSize()); + ErrCode ret = WIFI_OPT_FAILED; StationInfo info; - info.deviceName = data.ReadCString(); - info.bssid = data.ReadCString(); - info.ipAddr = data.ReadCString(); - ErrCode ret = DisassociateSta(info); + const char *deviceName = data.ReadCString(); + const char *bssid = data.ReadCString(); + const char *ipAddr = data.ReadCString(); + if (deviceName == nullptr || bssid == nullptr || ipAddr == nullptr) { + ret = WIFI_OPT_INVALID_PARAM; + } else { + info.deviceName = deviceName; + info.bssid = bssid; + info.ipAddr = ipAddr; + ret = DisassociateSta(info); + } reply.WriteInt32(0); reply.WriteInt32(ret); return; @@ -229,11 +244,19 @@ void WifiHotspotStub::OnDisableWifiAp(uint32_t code, MessageParcel &data, Messag void WifiHotspotStub::OnAddBlockList(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) { WIFI_LOGD("run %{public}s code %{public}u, datasize %zu", __func__, code, data.GetRawDataSize()); + ErrCode ret = WIFI_OPT_FAILED; StationInfo info; - info.deviceName = data.ReadCString(); - info.bssid = data.ReadCString(); - info.ipAddr = data.ReadCString(); - ErrCode ret = AddBlockList(info); + const char *deviceName = data.ReadCString(); + const char *bssid = data.ReadCString(); + const char *ipAddr = data.ReadCString(); + if (deviceName == nullptr || bssid == nullptr || ipAddr == nullptr) { + ret = WIFI_OPT_INVALID_PARAM; + } else { + info.deviceName = deviceName; + info.bssid = bssid; + info.ipAddr = ipAddr; + ret = AddBlockList(info); + } reply.WriteInt32(0); reply.WriteInt32(ret); @@ -243,11 +266,19 @@ void WifiHotspotStub::OnAddBlockList(uint32_t code, MessageParcel &data, Message void WifiHotspotStub::OnDelBlockList(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) { WIFI_LOGD("run %{public}s code %{public}u, datasize %zu", __func__, code, data.GetRawDataSize()); + ErrCode ret = WIFI_OPT_FAILED; StationInfo info; - info.deviceName = data.ReadCString(); - info.bssid = data.ReadCString(); - info.ipAddr = data.ReadCString(); - ErrCode ret = DelBlockList(info); + const char *deviceName = data.ReadCString(); + const char *bssid = data.ReadCString(); + const char *ipAddr = data.ReadCString(); + if (deviceName == nullptr || bssid == nullptr || ipAddr == nullptr) { + ret = WIFI_OPT_INVALID_PARAM; + } else { + info.deviceName = deviceName; + info.bssid = bssid; + info.ipAddr = ipAddr; + ret = DelBlockList(info); + } reply.WriteInt32(0); reply.WriteInt32(ret); diff --git a/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_stub.cpp b/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_stub.cpp index 6e6dc528b..64ca76148 100644 --- a/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_stub.cpp +++ b/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_stub.cpp @@ -373,13 +373,17 @@ void WifiP2pStub::OnQueryP2pServices(uint32_t code, MessageParcel &data, Message void WifiP2pStub::ReadWifiP2pServiceInfo(MessageParcel &data, WifiP2pServiceInfo &info) { - info.SetServiceName(data.ReadCString()); - info.SetDeviceAddress(data.ReadCString()); + const char *readStr = nullptr; + readStr = data.ReadCString(); + info.SetServiceName((readStr != nullptr) ? readStr : ""); + readStr = data.ReadCString(); + info.SetDeviceAddress((readStr != nullptr) ? readStr : ""); info.SetServicerProtocolType(static_cast(data.ReadInt32())); std::vector queryList; int size = data.ReadInt32(); for (int i = 0; i < size; i++) { - std::string str = data.ReadCString(); + readStr = data.ReadCString(); + std::string str = (readStr != nullptr) ? readStr : ""; queryList.push_back(str); } info.SetQueryList(queryList); @@ -416,10 +420,15 @@ void WifiP2pStub::WriteWifiP2pServiceInfo(MessageParcel &reply, const WifiP2pSer void WifiP2pStub::ReadWifiP2pDeviceData(MessageParcel &data, WifiP2pDevice &device) { - device.SetDeviceName(data.ReadCString()); - device.SetDeviceAddress(data.ReadCString()); - device.SetPrimaryDeviceType(data.ReadCString()); - device.SetSecondaryDeviceType(data.ReadCString()); + const char *readStr = nullptr; + readStr = data.ReadCString(); + device.SetDeviceName((readStr != nullptr) ? readStr : ""); + readStr = data.ReadCString(); + device.SetDeviceAddress((readStr != nullptr) ? readStr : ""); + readStr = data.ReadCString(); + device.SetPrimaryDeviceType((readStr != nullptr) ? readStr : ""); + readStr = data.ReadCString(); + device.SetSecondaryDeviceType((readStr != nullptr) ? readStr : ""); device.SetP2pDeviceStatus(static_cast(data.ReadInt32())); WifiP2pWfdInfo wfdInfo; wfdInfo.SetWfdEnabled(data.ReadBool()); @@ -450,18 +459,23 @@ void WifiP2pStub::WriteWifiP2pDeviceData(MessageParcel &reply, const WifiP2pDevi void WifiP2pStub::ReadWifiP2pGroupData(MessageParcel &data, WifiP2pGroupInfo &info) { + const char *readStr = nullptr; info.SetIsGroupOwner(data.ReadBool()); WifiP2pDevice device; ReadWifiP2pDeviceData(data, device); info.SetOwner(device); - info.SetPassphrase(data.ReadCString()); - info.SetInterface(data.ReadCString()); - info.SetGroupName(data.ReadCString()); + readStr = data.ReadCString(); + info.SetPassphrase((readStr != nullptr) ? readStr : ""); + readStr = data.ReadCString(); + info.SetInterface((readStr != nullptr) ? readStr : ""); + readStr = data.ReadCString(); + info.SetGroupName((readStr != nullptr) ? readStr : ""); info.SetFrequency(data.ReadInt32()); info.SetIsPersistent(data.ReadBool()); info.SetP2pGroupStatus(static_cast(data.ReadInt32())); info.SetNetworkId(data.ReadInt32()); - info.SetGoIpAddress(data.ReadCString()); + readStr = data.ReadCString(); + info.SetGoIpAddress((readStr != nullptr) ? readStr : ""); int size = data.ReadInt32(); for (auto it = 0; it < size; ++it) { WifiP2pDevice cliDev; @@ -491,9 +505,13 @@ void WifiP2pStub::WriteWifiP2pGroupData(MessageParcel &reply, const WifiP2pGroup void WifiP2pStub::ReadWifiP2pConfigData(MessageParcel &data, WifiP2pConfig &config) { - config.SetDeviceAddress(data.ReadCString()); - config.SetPassphrase(data.ReadCString()); - config.SetNetworkName(data.ReadCString()); + const char *readStr = nullptr; + readStr = data.ReadCString(); + config.SetDeviceAddress((readStr != nullptr) ? readStr : ""); + readStr = data.ReadCString(); + config.SetPassphrase((readStr != nullptr) ? readStr : ""); + readStr = data.ReadCString(); + config.SetNetworkName((readStr != nullptr) ? readStr : ""); config.SetGoBand(static_cast(data.ReadInt32())); config.SetNetId(data.ReadInt32()); config.SetGroupOwnerIntent(data.ReadInt32()); @@ -565,8 +583,14 @@ void WifiP2pStub::OnGetSupportedFeatures( void WifiP2pStub::OnSetP2pDeviceName(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) { WIFI_LOGD("run %{public}s code %{public}u, datasize %{public}zu", __func__, code, data.GetRawDataSize()); - std::string deviceName = data.ReadCString(); - int ret = SetP2pDeviceName(deviceName); + ErrCode ret = WIFI_OPT_FAILED; + const char *readStr = data.ReadCString(); + if (readStr == nullptr) { + ret = WIFI_OPT_INVALID_PARAM; + } else { + std::string deviceName = readStr; + ret = SetP2pDeviceName(deviceName); + } reply.WriteInt32(0); reply.WriteInt32(ret); @@ -587,6 +611,7 @@ void WifiP2pStub::OnSetP2pWfdInfo(uint32_t code, MessageParcel &data, MessagePar return; } + bool WifiP2pStub::IsSingleCallback() const { return mSingleCallback; @@ -597,4 +622,4 @@ void WifiP2pStub::SetSingleCallback(const bool isSingleCallback) mSingleCallback = true; } } // namespace Wifi -} // namespace OHOS \ No newline at end of file +} // namespace OHOS diff --git a/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan_stub.cpp b/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan_stub.cpp index 95bf1395b..cc2370eb8 100755 --- a/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan_stub.cpp +++ b/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan_stub.cpp @@ -145,10 +145,13 @@ int WifiScanStub::OnScan(uint32_t code, MessageParcel &data, MessageParcel &repl int WifiScanStub::OnScanByParams(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) { - WIFI_LOGD("run OnScanByParams code %{public}u, datasize %zu", code, data.GetRawDataSize()); + WIFI_LOGD("run OnScanByParams code %{public}u, datasize %{public}zu", code, data.GetRawDataSize()); + const char *readStr = nullptr; WifiScanParams params; - params.ssid = data.ReadCString(); - params.bssid = data.ReadCString(); + readStr = data.ReadCString(); + params.ssid = (readStr != nullptr) ? readStr : ""; + readStr = data.ReadCString(); + params.bssid = (readStr != nullptr) ? readStr : ""; int size = data.ReadInt32(); for (int i = 0; i < size; i++) { int tmp = data.ReadInt32(); -- Gitee From 71ad7de42a0c6e874242f89dd6366589343fbd14 Mon Sep 17 00:00:00 2001 From: xiaosi Date: Fri, 25 Nov 2022 19:48:13 +0800 Subject: [PATCH 2/3] fix ReadCString Signed-off-by: xiaosi --- .../wifi_manage/wifi_device_stub.cpp | 16 +++--- .../wifi_manage/wifi_hotspot_stub.cpp | 52 +++++++++---------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_stub.cpp b/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_stub.cpp index 2ba955e74..963990e69 100644 --- a/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_stub.cpp +++ b/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_stub.cpp @@ -360,13 +360,13 @@ void WifiDeviceStub::OnStartWps(uint32_t code, MessageParcel &data, MessageParce ErrCode ret = WIFI_OPT_FAILED; WpsConfig config; config.setup = SetupMethod(data.ReadInt32()); - const char *pin = data.ReadCString(); - const char *bssid = data.ReadCString(); - if (pin == nullptr || bssid == nullptr) { + const char *pinRead = data.ReadCString(); + const char *bssidRead = data.ReadCString(); + if (pinRead == nullptr || bssidRead == nullptr) { ret = WIFI_OPT_INVALID_PARAM; } else { - config.pin = pin; - config.bssid = bssid; + config.pin = pinRead; + config.bssid = bssidRead; ret = StartWps(config); } @@ -468,11 +468,11 @@ void WifiDeviceStub::OnSetCountryCode(uint32_t code, MessageParcel &data, Messag { WIFI_LOGD("run %{public}s code %{public}u, datasize %{public}zu", __func__, code, data.GetRawDataSize()); ErrCode ret = WIFI_OPT_FAILED; - const char *countrycode = data.ReadCString(); - if (countrycode == nullptr) { + const char *countryCodeRead = data.ReadCString(); + if (countryCodeRead == nullptr) { ret = WIFI_OPT_INVALID_PARAM; } else { - std::string countrycode = countrycode; + std::string countrycode = countryCodeRead; ret = SetCountryCode(countrycode); } reply.WriteInt32(0); diff --git a/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_stub.cpp b/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_stub.cpp index fbc5144df..4c19908a0 100644 --- a/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_stub.cpp +++ b/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_stub.cpp @@ -122,17 +122,17 @@ void WifiHotspotStub::OnSetApConfigWifi(uint32_t code, MessageParcel &data, Mess WIFI_LOGD("run %{public}s code %{public}u, datasize %zu", __func__, code, data.GetRawDataSize()); ErrCode ret = WIFI_OPT_FAILED; HotspotConfig config; - const char *ssid = data.ReadCString(); + const char *ssidRead = data.ReadCString(); config.SetSecurityType(static_cast(data.ReadInt32())); config.SetBand(static_cast(data.ReadInt32())); config.SetChannel(data.ReadInt32()); - const char *preSharedKey = data.ReadCString(); + const char *preSharedKeyRead = data.ReadCString(); config.SetMaxConn(data.ReadInt32()); - if (ssid == nullptr || preSharedKey == nullptr) { + if (ssidRead == nullptr || preSharedKeyRead == nullptr) { ret = WIFI_OPT_INVALID_PARAM; } else { - config.SetSsid(ssid); - config.SetPreSharedKey(preSharedKey); + config.SetSsid(ssidRead); + config.SetPreSharedKey(preSharedKeyRead); ret = SetHotspotConfig(config); } reply.WriteInt32(0); @@ -167,15 +167,15 @@ void WifiHotspotStub::OnDisassociateSta(uint32_t code, MessageParcel &data, Mess WIFI_LOGD("run %{public}s code %{public}u, datasize %zu", __func__, code, data.GetRawDataSize()); ErrCode ret = WIFI_OPT_FAILED; StationInfo info; - const char *deviceName = data.ReadCString(); - const char *bssid = data.ReadCString(); - const char *ipAddr = data.ReadCString(); - if (deviceName == nullptr || bssid == nullptr || ipAddr == nullptr) { + const char *deviceNameRead = data.ReadCString(); + const char *bssidRead = data.ReadCString(); + const char *ipAddrRead = data.ReadCString(); + if (deviceNameRead == nullptr || bssidRead == nullptr || ipAddrRead == nullptr) { ret = WIFI_OPT_INVALID_PARAM; } else { - info.deviceName = deviceName; - info.bssid = bssid; - info.ipAddr = ipAddr; + info.deviceName = deviceNameRead; + info.bssid = bssidRead; + info.ipAddr = ipAddrRead; ret = DisassociateSta(info); } reply.WriteInt32(0); @@ -246,15 +246,15 @@ void WifiHotspotStub::OnAddBlockList(uint32_t code, MessageParcel &data, Message WIFI_LOGD("run %{public}s code %{public}u, datasize %zu", __func__, code, data.GetRawDataSize()); ErrCode ret = WIFI_OPT_FAILED; StationInfo info; - const char *deviceName = data.ReadCString(); - const char *bssid = data.ReadCString(); - const char *ipAddr = data.ReadCString(); - if (deviceName == nullptr || bssid == nullptr || ipAddr == nullptr) { + const char *deviceNameRead = data.ReadCString(); + const char *bssidRead = data.ReadCString(); + const char *ipAddrRead = data.ReadCString(); + if (deviceNameRead == nullptr || bssidRead == nullptr || ipAddrRead == nullptr) { ret = WIFI_OPT_INVALID_PARAM; } else { - info.deviceName = deviceName; - info.bssid = bssid; - info.ipAddr = ipAddr; + info.deviceName = deviceNameRead; + info.bssid = bssidRead; + info.ipAddr = ipAddrRead; ret = AddBlockList(info); } reply.WriteInt32(0); @@ -268,15 +268,15 @@ void WifiHotspotStub::OnDelBlockList(uint32_t code, MessageParcel &data, Message WIFI_LOGD("run %{public}s code %{public}u, datasize %zu", __func__, code, data.GetRawDataSize()); ErrCode ret = WIFI_OPT_FAILED; StationInfo info; - const char *deviceName = data.ReadCString(); - const char *bssid = data.ReadCString(); - const char *ipAddr = data.ReadCString(); - if (deviceName == nullptr || bssid == nullptr || ipAddr == nullptr) { + const char *deviceNameRead = data.ReadCString(); + const char *bssidRead = data.ReadCString(); + const char *ipAddrRead = data.ReadCString(); + if (deviceNameRead == nullptr || bssidRead == nullptr || ipAddrRead == nullptr) { ret = WIFI_OPT_INVALID_PARAM; } else { - info.deviceName = deviceName; - info.bssid = bssid; - info.ipAddr = ipAddr; + info.deviceName = deviceNameRead; + info.bssid = bssidRead; + info.ipAddr = ipAddrRead; ret = DelBlockList(info); } reply.WriteInt32(0); -- Gitee From ce5a6612285f3c40b01e73659817e652ad4007c3 Mon Sep 17 00:00:00 2001 From: xiaosi Date: Sat, 26 Nov 2022 10:37:59 +0800 Subject: [PATCH 3/3] fix ReadCString Signed-off-by: xiaosi --- .../native_cpp/wifi_standard/src/wifi_scan_proxy.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_scan_proxy.cpp b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_scan_proxy.cpp index b8db571ed..dfec90486 100755 --- a/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_scan_proxy.cpp +++ b/interfaces/innerkits/native_cpp/wifi_standard/src/wifi_scan_proxy.cpp @@ -204,9 +204,9 @@ ErrCode WifiScanProxy::GetScanInfoList(std::vector &result) WifiScanInfo info; readStr = reply.ReadCString(); info.bssid = (readStr != nullptr) ? readStr : ""; - reply.ReadCString(); + readStr = reply.ReadCString(); info.ssid = (readStr != nullptr) ? readStr : ""; - reply.ReadCString(); + readStr = reply.ReadCString(); info.capabilities = (readStr != nullptr) ? readStr : ""; info.frequency = reply.ReadInt32(); info.rssi = reply.ReadInt32(); -- Gitee