From 393d8449a975e9bb5f186b054651a91bc738d233 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Thu, 25 Jul 2024 10:31:32 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9codex=20Signed-off-by:=20?= =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- napi/include/napi_base.h | 8 ++++++++ .../firmware/check/include/firmware_icheck.h | 4 ++++ .../executor/src/firmware_apply_executor.cpp | 4 ++++ .../executor/src/firmware_check_executor.cpp | 4 ++++ .../src/firmware_install_executor.cpp | 12 +++++++++++ .../include/firmware_sys_installer_install.h | 2 +- .../src/firmware_sys_installer_callback.cpp | 4 ++++ .../src/firmware_sys_installer_install.cpp | 20 +++++++++++++++++-- services/utils/src/dupdate_net_manager.cpp | 4 ++++ 9 files changed, 59 insertions(+), 3 deletions(-) diff --git a/napi/include/napi_base.h b/napi/include/napi_base.h index e74983ff..1e16d18a 100644 --- a/napi/include/napi_base.h +++ b/napi/include/napi_base.h @@ -96,8 +96,16 @@ public: static void Complete(napi_env env, napi_status status, void *data) { + if (data == nullptr) { + ENGINE_LOGE("Complete, data is null"); + return; + } constexpr size_t resultLen = 2; T *clientContext = static_cast(data); + if (clientContext == nullptr) { + ENGINE_LOGE("Complete clientContext is null"); + return; + } napi_value finalResult = nullptr; if (clientContext->createValueFunc_ != nullptr) { diff --git a/services/firmware/check/include/firmware_icheck.h b/services/firmware/check/include/firmware_icheck.h index 85f2536e..16b34cc7 100644 --- a/services/firmware/check/include/firmware_icheck.h +++ b/services/firmware/check/include/firmware_icheck.h @@ -70,6 +70,10 @@ public: void DoAction(FirmwareCheckCallback checkCallback) { FIRMWARE_LOGI("FirmwareCheck::DoAction"); + if (checkCallback.callback == nullptr) { + FIRMWARE_LOGE("FirmwareICheck DoAction callback is null"); + return; + } int32_t engineSocket = socket(AF_INET, SOCK_STREAM, 0); ENGINE_CHECK(engineSocket >= 0, checkCallback.callback(CheckStatus::CHECK_FAIL, duration_, checkResultList_, checkAndAuthInfo_); diff --git a/services/firmware/upgrade/executor/src/firmware_apply_executor.cpp b/services/firmware/upgrade/executor/src/firmware_apply_executor.cpp index 752dfdf0..b8aa6c9e 100644 --- a/services/firmware/upgrade/executor/src/firmware_apply_executor.cpp +++ b/services/firmware/upgrade/executor/src/firmware_apply_executor.cpp @@ -43,6 +43,10 @@ void FirmwareApplyExecutor::DoInstall() firmwareComponentOperator.QueryAll(components_); FIRMWARE_LOGI("Execute size %{public}d", CAST_INT(components_.size())); if (components_.size() == 0) { + if (firmwareApplyCallback_.applyCallback == nullptr) { + FIRMWARE_LOGE("FirmwareApplyExecutor applyCallback is null"); + return; + } firmwareApplyCallback_.applyCallback(false); return; } diff --git a/services/firmware/upgrade/executor/src/firmware_check_executor.cpp b/services/firmware/upgrade/executor/src/firmware_check_executor.cpp index d601eca0..1ca519e1 100644 --- a/services/firmware/upgrade/executor/src/firmware_check_executor.cpp +++ b/services/firmware/upgrade/executor/src/firmware_check_executor.cpp @@ -40,6 +40,10 @@ void FirmwareCheckExecutor::Complete() { FIRMWARE_LOGI("FirmwareCheckExecutor::complete"); DelayedSingleton::GetInstance()->SetIsChecking(false); + if (checkComponentCallback_.firmwareComponentCallback == nullptr) { + FIRMWARE_LOGE("FirmwareCheckExecutor firmwareComponentCallback is null"); + return; + } checkComponentCallback_.firmwareComponentCallback(status_, duration_, componentList_, checkAndAuthInfo_); } diff --git a/services/firmware/upgrade/executor/src/firmware_install_executor.cpp b/services/firmware/upgrade/executor/src/firmware_install_executor.cpp index 0062393d..334a318f 100644 --- a/services/firmware/upgrade/executor/src/firmware_install_executor.cpp +++ b/services/firmware/upgrade/executor/src/firmware_install_executor.cpp @@ -44,6 +44,10 @@ void FirmwareInstallExecutor::DoInstall() progress.status = UpgradeStatus::UPDATE_FAIL; progress.endReason = "no task"; installCallbackInfo_.progress = progress; + if (installCallback_.installCallback == nullptr) { + FIRMWARE_LOGE("FirmwareInstallExecutor installCallback is null"); + return; + } installCallback_.installCallback(installCallbackInfo_); return; } @@ -106,6 +110,10 @@ void FirmwareInstallExecutor::HandleInstallProgress(const FirmwareComponent &com // 整体进度插入到 task 表 FirmwareTaskOperator().UpdateProgressByTaskId(tasks_.taskId, taskProgress_.status, taskProgress_.percent); installCallbackInfo_.progress = taskProgress_; + if (installCallback_.installCallback == nullptr) { + FIRMWARE_LOGE("FirmwareInstallExecutor installCallback is null"); + return; + } installCallback_.installCallback(installCallbackInfo_); } @@ -127,6 +135,10 @@ void FirmwareInstallExecutor::HandleInstallResult(const bool result, const Error installCallbackInfo_.progress = taskProgress_; installCallbackInfo_.errorMessage.errorCode = errMsg.errorCode; installCallbackInfo_.errorMessage.errorMessage = errMsg.errorMessage; + if (installCallback_.installCallback == nullptr) { + FIRMWARE_LOGE("FirmwareInstallExecutor installCallback is null"); + return; + } installCallback_.installCallback(installCallbackInfo_); } } // namespace UpdateEngine diff --git a/services/firmware/upgrade/install/include/firmware_sys_installer_install.h b/services/firmware/upgrade/install/include/firmware_sys_installer_install.h index ac597701..62dd3252 100644 --- a/services/firmware/upgrade/install/include/firmware_sys_installer_install.h +++ b/services/firmware/upgrade/install/include/firmware_sys_installer_install.h @@ -33,7 +33,7 @@ class SysInstallerInstall final : public FirmwareInstall { private: bool IsComponentLegal(const std::vector &componentList) final; bool PerformInstall(const std::vector &componentList) final; - + int32_t StartUpdatePackageZip(std::string &path); int32_t DoSysInstall(const FirmwareComponent &firmwareComponent); void InitInstallProgress(); int32_t WaitInstallResult(); diff --git a/services/firmware/upgrade/install/src/firmware_sys_installer_callback.cpp b/services/firmware/upgrade/install/src/firmware_sys_installer_callback.cpp index 6c3ff608..f3a87497 100644 --- a/services/firmware/upgrade/install/src/firmware_sys_installer_callback.cpp +++ b/services/firmware/upgrade/install/src/firmware_sys_installer_callback.cpp @@ -45,6 +45,10 @@ void SysInstallerCallback::OnUpgradeProgress(SysInstaller::UpdateStatus updateSt installProgress.progress.percent = static_cast(percent); installProgress.errMsg.errorCode = CAST_INT(updateStatus); + if (sysInstallCallback_.onSysInstallerCallback == nullptr) { + FIRMWARE_LOGE("SysInstallerCallback OnUpgradeProgress onSysInstallerCallback is null"); + return; + } sysInstallCallback_.onSysInstallerCallback(installProgress); } } // namespace UpdateEngine diff --git a/services/firmware/upgrade/install/src/firmware_sys_installer_install.cpp b/services/firmware/upgrade/install/src/firmware_sys_installer_install.cpp index 826e1313..3e0038aa 100644 --- a/services/firmware/upgrade/install/src/firmware_sys_installer_install.cpp +++ b/services/firmware/upgrade/install/src/firmware_sys_installer_install.cpp @@ -45,6 +45,10 @@ bool SysInstallerInstall::PerformInstall(const std::vector &c } uint32_t successCount = 0; for (const auto &component : componentList) { + if (onInstallCallback_.onFirmwareStatus == nullptr) { + FIRMWARE_LOGE("SysInstallerInstall PerformInstall onFirmwareStatus is null"); + continue; + } onInstallCallback_.onFirmwareStatus(UpgradeStatus::INSTALLING); if (DoSysInstall(component) == OHOS_SUCCESS) { successCount ++; @@ -81,6 +85,10 @@ int32_t SysInstallerInstall::DoSysInstall(const FirmwareComponent &firmwareCompo sysComponent.progress = installProgress.progress.percent; FIRMWARE_LOGI("SysInstallerExecutorCallback status=%{public}d , progress=%{public}d", sysComponent.status, sysComponent.progress); + if (onInstallCallback_.onFirmwareProgress == nullptr) { + FIRMWARE_LOGE("SysInstallerExecutorCallback onFirmwareProgress is null"); + return; + } onInstallCallback_.onFirmwareProgress(sysComponent); } }; sptr cb = new SysInstallerCallback(callback); @@ -99,14 +107,22 @@ int32_t SysInstallerInstall::DoSysInstall(const FirmwareComponent &firmwareCompo return OHOS_FAILURE; } - ret = SysInstaller::SysInstallerKitsImpl::GetInstance().StartUpdatePackageZip(sysComponent.spath); + if (StartUpdatePackageZip(sysComponent.spath) != OHOS_SUCCESS) { + return OHOS_FAILURE; + } + return WaitInstallResult(); +} + +int32_t SysInstallerInstall::StartUpdatePackageZip(std::string &path) +{ + auto ret = SysInstaller::SysInstallerKitsImpl::GetInstance().StartUpdatePackageZip(sysComponent.spath); if (ret != OHOS_SUCCESS) { errMsg_.errorMessage = "sys installer StartUpdatePackageZip failed"; errMsg_.errorCode = ret; FIRMWARE_LOGE("sys installer StartUpdatePackageZip failed ret = %{public}d", ret); return OHOS_FAILURE; } - return WaitInstallResult(); + return ret; } void SysInstallerInstall::InitInstallProgress() diff --git a/services/utils/src/dupdate_net_manager.cpp b/services/utils/src/dupdate_net_manager.cpp index 80b74b0a..0f3626e7 100644 --- a/services/utils/src/dupdate_net_manager.cpp +++ b/services/utils/src/dupdate_net_manager.cpp @@ -98,6 +98,10 @@ bool NetManager::OnNetChange(NetType netType) for (auto iter = netChangeCallbackMap_.begin(); iter != netChangeCallbackMap_.end();) { NetChangeCallback netChangeCallback = iter->second; if (netChangeCallback.netTypes.count(netType) != 0) { + if (netChangeCallback.function == nullptr) { + ENGINE_LOGE("OnNetChange netChangeCallback function is null"); + continue; + } netChangeCallback.function(netType); } iter++; -- Gitee From a3a7079d3d1f54bef73f06bb3033bec248ece015 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Thu, 25 Jul 2024 03:26:00 +0000 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 邹友松 --- .../upgrade/executor/src/firmware_install_executor.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/services/firmware/upgrade/executor/src/firmware_install_executor.cpp b/services/firmware/upgrade/executor/src/firmware_install_executor.cpp index 334a318f..41dc0173 100644 --- a/services/firmware/upgrade/executor/src/firmware_install_executor.cpp +++ b/services/firmware/upgrade/executor/src/firmware_install_executor.cpp @@ -45,7 +45,7 @@ void FirmwareInstallExecutor::DoInstall() progress.endReason = "no task"; installCallbackInfo_.progress = progress; if (installCallback_.installCallback == nullptr) { - FIRMWARE_LOGE("FirmwareInstallExecutor installCallback is null"); + FIRMWARE_LOGE("FirmwareInstallExecutor DoInstall installCallback is null"); return; } installCallback_.installCallback(installCallbackInfo_); @@ -111,7 +111,7 @@ void FirmwareInstallExecutor::HandleInstallProgress(const FirmwareComponent &com FirmwareTaskOperator().UpdateProgressByTaskId(tasks_.taskId, taskProgress_.status, taskProgress_.percent); installCallbackInfo_.progress = taskProgress_; if (installCallback_.installCallback == nullptr) { - FIRMWARE_LOGE("FirmwareInstallExecutor installCallback is null"); + FIRMWARE_LOGE("FirmwareInstallExecutor HandleInstallProgress installCallback is null"); return; } installCallback_.installCallback(installCallbackInfo_); @@ -136,7 +136,7 @@ void FirmwareInstallExecutor::HandleInstallResult(const bool result, const Error installCallbackInfo_.errorMessage.errorCode = errMsg.errorCode; installCallbackInfo_.errorMessage.errorMessage = errMsg.errorMessage; if (installCallback_.installCallback == nullptr) { - FIRMWARE_LOGE("FirmwareInstallExecutor installCallback is null"); + FIRMWARE_LOGE("FirmwareInstallExecutor HandleInstallResult installCallback is null"); return; } installCallback_.installCallback(installCallbackInfo_); -- Gitee From e583149ac938cfd0d16663f397c87df4c91fdcf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Thu, 25 Jul 2024 06:27:14 +0000 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BC=96=E8=AF=91?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 邹友松 --- .../upgrade/install/src/firmware_sys_installer_install.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/firmware/upgrade/install/src/firmware_sys_installer_install.cpp b/services/firmware/upgrade/install/src/firmware_sys_installer_install.cpp index 3e0038aa..19a480ff 100644 --- a/services/firmware/upgrade/install/src/firmware_sys_installer_install.cpp +++ b/services/firmware/upgrade/install/src/firmware_sys_installer_install.cpp @@ -115,7 +115,7 @@ int32_t SysInstallerInstall::DoSysInstall(const FirmwareComponent &firmwareCompo int32_t SysInstallerInstall::StartUpdatePackageZip(std::string &path) { - auto ret = SysInstaller::SysInstallerKitsImpl::GetInstance().StartUpdatePackageZip(sysComponent.spath); + auto ret = SysInstaller::SysInstallerKitsImpl::GetInstance().StartUpdatePackageZip(path); if (ret != OHOS_SUCCESS) { errMsg_.errorMessage = "sys installer StartUpdatePackageZip failed"; errMsg_.errorCode = ret; -- Gitee