diff --git a/core/bus_center/ipc/standard/src/bus_center_client_proxy.cpp b/core/bus_center/ipc/standard/src/bus_center_client_proxy.cpp index a82b71fb5520b02278a4af695bbe918d14c1048e..13ddbe93a7f617784dec0f3761e09f66b5c3217c 100644 --- a/core/bus_center/ipc/standard/src/bus_center_client_proxy.cpp +++ b/core/bus_center/ipc/standard/src/bus_center_client_proxy.cpp @@ -68,6 +68,10 @@ int32_t ClinetOnNodeOnlineStateChanged(bool isOnline, void *info, uint32_t infoT SoftbusClientInfoManager::GetInstance().GetSoftbusClientProxyMap(proxyMap); for (auto proxy : proxyMap) { sptr clientProxy = new (std::nothrow) BusCenterClientProxy(proxy.second); + if (clientProxy == nullptr) { + LNN_LOGE(LNN_EVENT, "bus center client proxy is nullptr"); + return SOFTBUS_NETWORK_GET_CLIENT_PROXY_NULL; + } clientProxy->OnNodeOnlineStateChanged(proxy.first.c_str(), isOnline, info, infoTypeLen); } return SOFTBUS_OK; @@ -79,6 +83,10 @@ int32_t ClinetOnNodeBasicInfoChanged(void *info, uint32_t infoTypeLen, int32_t t SoftbusClientInfoManager::GetInstance().GetSoftbusClientProxyMap(proxyMap); for (auto proxy : proxyMap) { sptr clientProxy = new (std::nothrow) BusCenterClientProxy(proxy.second); + if (clientProxy == nullptr) { + LNN_LOGE(LNN_EVENT, "bus center client proxy is nullptr"); + return SOFTBUS_NETWORK_GET_CLIENT_PROXY_NULL; + } clientProxy->OnNodeBasicInfoChanged(proxy.first.c_str(), info, infoTypeLen, type); } return SOFTBUS_OK; @@ -94,6 +102,10 @@ int32_t ClientOnNodeStatusChanged(void *info, uint32_t infoTypeLen, int32_t type } for (const auto &proxy : proxyMap) { sptr clientProxy = new (std::nothrow) BusCenterClientProxy(proxy.second); + if (clientProxy == nullptr) { + LNN_LOGE(LNN_EVENT, "bus center client proxy is nullptr"); + return SOFTBUS_NETWORK_GET_CLIENT_PROXY_NULL; + } clientProxy->OnNodeStatusChanged(proxy.first.c_str(), info, infoTypeLen, type); } return SOFTBUS_OK; @@ -105,6 +117,10 @@ int32_t ClinetOnLocalNetworkIdChanged() SoftbusClientInfoManager::GetInstance().GetSoftbusClientProxyMap(proxyMap); for (auto proxy : proxyMap) { sptr clientProxy = new (std::nothrow) BusCenterClientProxy(proxy.second); + if (clientProxy == nullptr) { + LNN_LOGE(LNN_EVENT, "bus center client proxy is nullptr"); + return SOFTBUS_NETWORK_GET_CLIENT_PROXY_NULL; + } clientProxy->OnLocalNetworkIdChanged(proxy.first.c_str()); } return SOFTBUS_OK; @@ -120,6 +136,10 @@ int32_t ClinetNotifyDeviceNotTrusted(const char *msg) continue; } sptr clientProxy = new (std::nothrow) BusCenterClientProxy(proxy.second); + if (clientProxy == nullptr) { + LNN_LOGE(LNN_EVENT, "bus center client proxy is nullptr"); + return SOFTBUS_NETWORK_GET_CLIENT_PROXY_NULL; + } clientProxy->OnNodeDeviceNotTrusted(proxy.first.c_str(), msg); } return SOFTBUS_OK; diff --git a/core/bus_center/lnn/lane_hub/heartbeat/src/lnn_heartbeat_ctrl.c b/core/bus_center/lnn/lane_hub/heartbeat/src/lnn_heartbeat_ctrl.c index 411c7ce42b9f146634b0c83964f60baf0a9aaa69..95cd9f865c475aa8ea9744fbab636093ae8718a3 100644 --- a/core/bus_center/lnn/lane_hub/heartbeat/src/lnn_heartbeat_ctrl.c +++ b/core/bus_center/lnn/lane_hub/heartbeat/src/lnn_heartbeat_ctrl.c @@ -1226,6 +1226,7 @@ void LnnDeinitHeartbeat(void) LnnUnregisterEventHandler(LNN_EVENT_NIGHT_MODE_CHANGED, HbNightModeStateEventHandler); LnnUnregisterEventHandler(LNN_EVENT_OOBE_STATE_CHANGED, HbOOBEStateEventHandler); LnnUnregisterEventHandler(LNN_EVENT_LP_EVENT_REPORT, HbLpEventHandler); + LnnUnregisterEventHandler(LNN_EVENT_USER_SWITCHED, HbUserSwitchedHandler); } int32_t LnnTriggerDataLevelHeartbeat(void) diff --git a/core/bus_center/lnn/net_builder/src/lnn_net_builder_init.c b/core/bus_center/lnn/net_builder/src/lnn_net_builder_init.c index e65f008e9dac0d1eb2e142c02edf0dfa0c8f0930..3aca317be15d3dc04e31246ab56365703baac9f0 100644 --- a/core/bus_center/lnn/net_builder/src/lnn_net_builder_init.c +++ b/core/bus_center/lnn/net_builder/src/lnn_net_builder_init.c @@ -770,6 +770,7 @@ void LnnDeinitNetBuilder(void) LnnUnregSyncInfoHandler(LNN_INFO_TYPE_MASTER_ELECT, OnReceiveMasterElectMsg); LnnUnregSyncInfoHandler(LNN_INFO_TYPE_NODE_ADDR, OnReceiveNodeAddrChangedMsg); LnnUnregisterEventHandler(LNN_EVENT_ACCOUNT_CHANGED, AccountStateChangeHandler); + LnnUnregisterEventHandler(LNN_EVENT_USER_SWITCHED, UserSwitchedHandler); UnregAuthVerifyListener(); LnnDeinitTopoManager(); DeinitNodeInfoSync(); diff --git a/core/bus_center/lnn/net_builder/src/lnn_network_info.c b/core/bus_center/lnn/net_builder/src/lnn_network_info.c index 04282ddfd9648e16ca2929846725f6936668841a..88aa0a176948fe195c87c1de2ea7e654158c221c 100644 --- a/core/bus_center/lnn/net_builder/src/lnn_network_info.c +++ b/core/bus_center/lnn/net_builder/src/lnn_network_info.c @@ -508,5 +508,7 @@ int32_t LnnInitNetworkInfo(void) void LnnDeinitNetworkInfo(void) { + (void)LnnUnregisterEventHandler(LNN_EVENT_BT_STATE_CHANGED, BtStateChangeEventHandler); + (void)LnnUnregisterEventHandler(LNN_EVENT_WIFI_STATE_CHANGED, WifiStateEventHandler); (void)LnnUnregSyncInfoHandler(LNN_INFO_TYPE_CAPABILITY, OnReceiveCapaSyncInfoMsg); } diff --git a/interfaces/kits/common/softbus_error_code.h b/interfaces/kits/common/softbus_error_code.h index 5ada1e73eadaacb09319576b9039404db799e426..153abe4dedf59a903b5bcf54a3ae9951491a6369 100644 --- a/interfaces/kits/common/softbus_error_code.h +++ b/interfaces/kits/common/softbus_error_code.h @@ -596,6 +596,7 @@ enum SoftBusErrNo { SOFTBUS_NETWORK_HB_TRANSACT_PROCESS_FAIL, SOFTBUS_NETWORK_HB_CHECK_DEV_STATUS_ERROR, SOFTBUS_NETWORK_WRITEINT16_FAILED, + SOFTBUS_NETWORK_GET_CLIENT_PROXY_NULL, /* errno begin: -((203 << 21) | (4 << 16) | (1 << 12) | 0x0FFF) */ SOFTBUS_LANE_ERR_BASE = SOFTBUS_SUB_ERRNO(LNN_SUB_MODULE_CODE, LNN_LANE_MODULE_CODE),