From 3b5a335a2569e9b4ecc1153bc820e6271015055a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=9F=8E=E8=8C=B6=E8=AF=AD?= Date: Thu, 27 Feb 2025 20:13:03 +0800 Subject: [PATCH] fix nullptr --- interfaces/cj/kits/src/device_manager_ffi.cpp | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/interfaces/cj/kits/src/device_manager_ffi.cpp b/interfaces/cj/kits/src/device_manager_ffi.cpp index 68ab493a6..b67b7a288 100644 --- a/interfaces/cj/kits/src/device_manager_ffi.cpp +++ b/interfaces/cj/kits/src/device_manager_ffi.cpp @@ -34,6 +34,10 @@ int64_t FfiOHOSDistributedDeviceManagerCreateDeviceManager(const char *name, int void FfiOHOSDistributedDeviceManagerReleaseDeviceManager(int64_t id, int32_t *errCode) { auto instance = OHOS::FFI::FFIData::GetData(id); + if (instance == nullptr) { + LOGE("instance is nullptr"); + return; + } *errCode = instance->ReleaseDeviceManager(); } @@ -41,6 +45,10 @@ void FfiOHOSDistributedDeviceManagerGetAvailableDeviceList( int64_t id, FfiDeviceBasicInfoArray *deviceInfoList, int32_t *errCode) { auto instance = OHOS::FFI::FFIData::GetData(id); + if (instance == nullptr) { + LOGE("instance is nullptr"); + return; + } *errCode = instance->GetAvailableDeviceList(*deviceInfoList); } @@ -52,6 +60,10 @@ void FfiOHOSDistributedDeviceManagerFreeDeviceInfoList(FfiDeviceBasicInfoArray d const char *FfiOHOSDistributedDeviceManagerGetLocalDeviceNetworkId(int64_t id, int32_t *errCode) { auto instance = OHOS::FFI::FFIData::GetData(id); + if (instance == nullptr) { + LOGE("instance is nullptr"); + return; + } const char *networkIdPtr = nullptr; *errCode = instance->GetLocalDeviceNetworkId(networkIdPtr); return networkIdPtr; @@ -60,6 +72,10 @@ const char *FfiOHOSDistributedDeviceManagerGetLocalDeviceNetworkId(int64_t id, i const char *FfiOHOSDistributedDeviceManagerGetLocalDeviceName(int64_t id, int32_t *errCode) { auto instance = OHOS::FFI::FFIData::GetData(id); + if (instance == nullptr) { + LOGE("instance is nullptr"); + return; + } const char *deviceName = nullptr; *errCode = instance->GetLocalDeviceName(deviceName); return deviceName; @@ -68,6 +84,10 @@ const char *FfiOHOSDistributedDeviceManagerGetLocalDeviceName(int64_t id, int32_ int32_t FfiOHOSDistributedDeviceManagerGetLocalDeviceType(int64_t id, int32_t *errCode) { auto instance = OHOS::FFI::FFIData::GetData(id); + if (instance == nullptr) { + LOGE("instance is nullptr"); + return; + } int32_t deviceType = 0; *errCode = instance->GetLocalDeviceType(deviceType); return deviceType; @@ -76,6 +96,10 @@ int32_t FfiOHOSDistributedDeviceManagerGetLocalDeviceType(int64_t id, int32_t *e const char *FfiOHOSDistributedDeviceManagerGetLocalDeviceId(int64_t id, int32_t *errCode) { auto instance = OHOS::FFI::FFIData::GetData(id); + if (instance == nullptr) { + LOGE("instance is nullptr"); + return; + } const char *deviceId = nullptr; *errCode = instance->GetLocalDeviceId(deviceId); return deviceId; @@ -84,6 +108,10 @@ const char *FfiOHOSDistributedDeviceManagerGetLocalDeviceId(int64_t id, int32_t const char *FfiOHOSDistributedDeviceManagerGetDeviceName(int64_t id, const char *networkId, int32_t *errCode) { auto instance = OHOS::FFI::FFIData::GetData(id); + if (instance == nullptr) { + LOGE("instance is nullptr"); + return; + } const char *deviceName = nullptr; *errCode = instance->GetDeviceName(networkId, deviceName); return deviceName; @@ -92,6 +120,10 @@ const char *FfiOHOSDistributedDeviceManagerGetDeviceName(int64_t id, const char int32_t FfiOHOSDistributedDeviceManagerGetDeviceType(int64_t id, const char *networkId, int32_t *errCode) { auto instance = OHOS::FFI::FFIData::GetData(id); + if (instance == nullptr) { + LOGE("instance is nullptr"); + return; + } int32_t deviceType = 0; *errCode = instance->GetDeviceType(networkId, deviceType); return deviceType; @@ -100,12 +132,20 @@ int32_t FfiOHOSDistributedDeviceManagerGetDeviceType(int64_t id, const char *net void FfiOHOSDistributedDeviceManagerStartDiscovering(int64_t id, const char *extra, int32_t *errCode) { auto instance = OHOS::FFI::FFIData::GetData(id); + if (instance == nullptr) { + LOGE("instance is nullptr"); + return; + } *errCode = instance->StartDiscovering(extra); } void FfiOHOSDistributedDeviceManagerStopDiscovering(int64_t id, int32_t *errCode) { auto instance = OHOS::FFI::FFIData::GetData(id); + if (instance == nullptr) { + LOGE("instance is nullptr"); + return; + } *errCode = instance->StopDiscovering(); } @@ -113,24 +153,40 @@ void FfiOHOSDistributedDeviceManagerBindTarget( int64_t id, const char *deviceId, const char *bindParam, bool isMetaType, int32_t *errCode) { auto instance = OHOS::FFI::FFIData::GetData(id); + if (instance == nullptr) { + LOGE("instance is nullptr"); + return; + } *errCode = instance->BindTarget(deviceId, bindParam, isMetaType); } void FfiOHOSDistributedDeviceManagerUnbindTarget(int64_t id, const char *deviceId, int32_t *errCode) { auto instance = OHOS::FFI::FFIData::GetData(id); + if (instance == nullptr) { + LOGE("instance is nullptr"); + return; + } *errCode = instance->UnbindTarget(deviceId); } void FfiOHOSDistributedDeviceManagerOn(int64_t id, const char *type, void *callback, int32_t *errCode) { auto instance = OHOS::FFI::FFIData::GetData(id); + if (instance == nullptr) { + LOGE("instance is nullptr"); + return; + } *errCode = instance->EventOn(type, callback); } void FfiOHOSDistributedDeviceManagerOff(int64_t id, const char *type, int32_t *errCode) { auto instance = OHOS::FFI::FFIData::GetData(id); + if (instance == nullptr) { + LOGE("instance is nullptr"); + return; + } *errCode = instance->EventOff(type); } } -- Gitee