Fix using of invalid iterator.
Fix unnecessary copy operations.
Change-Id: Ib3f2b52c2b3a18c321f64b29c4ab30f4d7bf79a6
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
const PrivilegesInfo& privileges_info =
static_cast<const PrivilegesInfo&>(data);
auto appdef_privileges = privileges_info.GetAppDefinedPrivilegeInfoList();
- for (auto priv : appdef_privileges) {
+ for (const auto& priv : appdef_privileges) {
const AppDefinedPrivilegeInfo& info =
static_cast<const AppDefinedPrivilegeInfo&>(priv);
if (!AppDefinedPrivilegeValidation(info, "", error))
const parser::ManifestData& data,
const parser::ManifestDataMap& handlers_output,
std::string* error) const {
+ auto it = handlers_output.find(PackageInfo::key());
+ if (it == handlers_output.end()) {
+ *error = "ManifestHandler is not found.";
+ return false;
+ }
std::shared_ptr<const PackageInfo> package_info =
- std::static_pointer_cast<const PackageInfo>(
- handlers_output.find(PackageInfo::key())->second);
+ std::static_pointer_cast<const PackageInfo>(it->second);
const ProvidesAppDefinedPrivilegesInfo& privileges_info =
static_cast<const ProvidesAppDefinedPrivilegesInfo&>(data);
auto appdef_privileges = privileges_info.GetAppDefinedPrivilegeInfoList();
- for (auto priv : appdef_privileges) {
+ for (const auto& priv : appdef_privileges) {
const AppDefinedPrivilegeInfo& info =
static_cast<const AppDefinedPrivilegeInfo&>(priv);
if (!AppDefinedPrivilegeValidation(info, package_info->package(), error))
const UIApplicationInfoList& elements =
static_cast<const UIApplicationInfoList&>(data);
+ auto it = handlers_output.find(kManifestKey);
+ if (it == handlers_output.end()) {
+ *error = "ManifestHandler is not found.";
+ return false;
+ }
std::shared_ptr<const PackageInfo> package_info =
- std::static_pointer_cast<const PackageInfo>(
- handlers_output.find(kManifestKey)->second);
+ std::static_pointer_cast<const PackageInfo>(it->second);
for (const auto& item : elements.items) {
if (!UIAppValidation(item, package_info->api_version(), error) ||
const WidgetApplicationInfoList& elements =
static_cast<const WidgetApplicationInfoList&>(data);
-
+ auto it = handlers_output.find(kManifestKey);
+ if (it == handlers_output.end()) {
+ *error = "ManifestHandler is not found.";
+ return false;
+ }
std::shared_ptr<const PackageInfo> package_info =
- std::static_pointer_cast<const PackageInfo>(
- handlers_output.find(kManifestKey)->second);
+ std::static_pointer_cast<const PackageInfo>(it->second);
for (const auto& item : elements.items) {
if (!WidgetAppValidation(item, package_info->api_version(), error) ||