diff --git a/services/bundlemgr/src/inner_bundle_info.cpp b/services/bundlemgr/src/inner_bundle_info.cpp index 11b4d3f2792a7c64e217c9a208e5aba774ed3161..186ec135087be23b126f49e486ed5c66bf52ff1f 100644 --- a/services/bundlemgr/src/inner_bundle_info.cpp +++ b/services/bundlemgr/src/inner_bundle_info.cpp @@ -1543,18 +1543,22 @@ std::optional InnerBundleInfo::FindAbilityInfoV9( ErrCode InnerBundleInfo::FindAbilityInfo(const std::string &bundleName, const std::string &moduleName, const std::string &abilityName, AbilityInfo &info) const { + bool isModuleFind = false; for (const auto &ability : baseAbilityInfos_) { auto abilityInfo = ability.second; if ((abilityInfo.bundleName == bundleName) && (abilityInfo.moduleName == moduleName)) { + isModuleFind = true; if (abilityInfo.name == abilityName) { info = abilityInfo; return ERR_OK; - } else { - return ERR_BUNDLE_MANAGER_ABILITY_NOT_EXIST; } } } - return ERR_BUNDLE_MANAGER_MODULE_NOT_EXIST; + if (isModuleFind) { + return ERR_BUNDLE_MANAGER_ABILITY_NOT_EXIST; + } else { + return ERR_BUNDLE_MANAGER_MODULE_NOT_EXIST; + } } std::optional> InnerBundleInfo::FindAbilityInfos(