From c41b143acfcda60a89b4b9aa1c1922a800c31c62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E4=BD=B3=E6=A0=8B?= Date: Thu, 14 Aug 2025 21:38:27 +0800 Subject: [PATCH 1/2] =?UTF-8?q?Signed-off-by:=20=E7=8E=8B=E4=BD=B3?= =?UTF-8?q?=E6=A0=8B=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit add fuzz --- .../sys_installer_fuzzer.cpp | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/test/fuzztest/sysinstaller_fuzzer/sys_installer_fuzzer.cpp b/test/fuzztest/sysinstaller_fuzzer/sys_installer_fuzzer.cpp index e0b4440..5d0d711 100644 --- a/test/fuzztest/sysinstaller_fuzzer/sys_installer_fuzzer.cpp +++ b/test/fuzztest/sysinstaller_fuzzer/sys_installer_fuzzer.cpp @@ -30,28 +30,38 @@ using namespace SysInstaller; void FuzzSysInstaller(const uint8_t* data, size_t size) { - std::string taskId = "fuzz_test"; + std::string taskId = std::string(reinterpret_cast(data), size); + std::vector pkgPaths = {"/data/updater/fuzz/updater.zip"}; + const std::string taskType = "taskType"; + const std::string resultType = "resultType"; SysInstallerKitsImpl::GetInstance().SysInstallerInit(taskId); SysInstallerKitsImpl::GetInstance().SetUpdateCallback(taskId, nullptr); - SysInstallerKitsImpl::GetInstance().StartUpdatePackageZip(taskId, - std::string(reinterpret_cast(data), size)); - const std::string pkgPath = "/data/updater/fuzz/updater.zip"; - const std::string location = "location"; SysInstallerKitsImpl::GetInstance().GetUpdateStatus(taskId); - SysInstallerKitsImpl::GetInstance().StartUpdateParaZip(taskId, pkgPath, - location, std::string(reinterpret_cast(data), size)); - SysInstallerKitsImpl::GetInstance().AccDecompressAndVerifyPkg(taskId, - pkgPath, std::string(reinterpret_cast(data), size), 1); - SysInstallerKitsImpl::GetInstance().AccDeleteDir(taskId, std::string(reinterpret_cast(data), size)); - SysInstallerKitsImpl::GetInstance().ClearVabMetadataAndCow(); - SysInstallerKitsImpl::GetInstance().VabUpdateActive(); + SysInstallerKitsImpl::GetInstance().CancelUpdateVabPackageZip(taskId); SysInstallerKitsImpl::GetInstance().StartVabMerge(taskId); - const std::string action = "needMerge"; + SysInstallerKitsImpl::GetInstance().GetUpdateResult(taskId, taskType, resultType); + SysInstallerKitsImpl::GetInstance().StartUpdateVabPackageZip(taskId, pkgPath); + taskId = "fuzz_test"; + std::string pkgPath = std::string(reinterpret_cast(data), size); + SysInstallerKitsImpl::GetInstance().StartUpdateParaZip(taskId, pkgPath); + pkgPath = "/data/updater/fuzz/updater.zip"; + const std::string location = "location"; + std::string cfgDir = std::string(reinterpret_cast(data), size); + SysInstallerKitsImpl::GetInstance().StartUpdateParaZip(taskId, pkgPath, location, cfgDir); + SysInstallerKitsImpl::GetInstance().StartUpdateParaZip(taskId, location, cfgDir); + std::string dstPath = std::string(reinterpret_cast(data), size); + SysInstallerKitsImpl::GetInstance().AccDecompressAndVerifyPkg(taskId, pkgPath, dstPath, 1); + SysInstallerKitsImpl::GetInstance().AccDeleteDir(taskId, dstPath); + std::string action = std::string(reinterpret_cast(data), size); bool result = false; SysInstallerKitsImpl::GetInstance().GetMetadataResult(action, result); uint32_t reservedCores; std::copy(data, data + std::min(sizeof(uint32_t), size), reinterpret_cast(&reservedCores)); SysInstallerKitsImpl::GetInstance().SetCpuAffinity(taskId, reservedCores); + SysInstallerKitsImpl::GetInstance().ClearVabMetadataAndCow(); + SysInstallerKitsImpl::GetInstance().VabUpdateActive(); + SysInstallerKitsImpl::GetInstance().ExitSysInstaller(); + SysInstallerKitsImpl::GetInstance().StartAbSync(); } } -- Gitee From 79948c016dae35eb5b8ecfca58e26b5bd9ee4486 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E4=BD=B3=E6=A0=8B?= Date: Fri, 15 Aug 2025 06:49:11 +0000 Subject: [PATCH 2/2] update test/fuzztest/sysinstaller_fuzzer/sys_installer_fuzzer.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 王佳栋 --- test/fuzztest/sysinstaller_fuzzer/sys_installer_fuzzer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/fuzztest/sysinstaller_fuzzer/sys_installer_fuzzer.cpp b/test/fuzztest/sysinstaller_fuzzer/sys_installer_fuzzer.cpp index 5d0d711..7c44355 100644 --- a/test/fuzztest/sysinstaller_fuzzer/sys_installer_fuzzer.cpp +++ b/test/fuzztest/sysinstaller_fuzzer/sys_installer_fuzzer.cpp @@ -40,15 +40,15 @@ void FuzzSysInstaller(const uint8_t* data, size_t size) SysInstallerKitsImpl::GetInstance().CancelUpdateVabPackageZip(taskId); SysInstallerKitsImpl::GetInstance().StartVabMerge(taskId); SysInstallerKitsImpl::GetInstance().GetUpdateResult(taskId, taskType, resultType); - SysInstallerKitsImpl::GetInstance().StartUpdateVabPackageZip(taskId, pkgPath); + SysInstallerKitsImpl::GetInstance().StartUpdateVabPackageZip(taskId, pkgPaths); taskId = "fuzz_test"; std::string pkgPath = std::string(reinterpret_cast(data), size); - SysInstallerKitsImpl::GetInstance().StartUpdateParaZip(taskId, pkgPath); + SysInstallerKitsImpl::GetInstance().StartUpdatePackageZip(taskId, pkgPath); pkgPath = "/data/updater/fuzz/updater.zip"; const std::string location = "location"; std::string cfgDir = std::string(reinterpret_cast(data), size); SysInstallerKitsImpl::GetInstance().StartUpdateParaZip(taskId, pkgPath, location, cfgDir); - SysInstallerKitsImpl::GetInstance().StartUpdateParaZip(taskId, location, cfgDir); + SysInstallerKitsImpl::GetInstance().StartDeleteParaZip(taskId, location, cfgDir); std::string dstPath = std::string(reinterpret_cast(data), size); SysInstallerKitsImpl::GetInstance().AccDecompressAndVerifyPkg(taskId, pkgPath, dstPath, 1); SysInstallerKitsImpl::GetInstance().AccDeleteDir(taskId, dstPath); -- Gitee