}
return Status::OK;
}
+
common_installer::Step::Status StepCheckExtensionPrivileges::process() {
std::string app_ext_config_pattern(GetExtensionPath());
if (current_privileges.find(priv) == current_privileges.end()) {
privilege_x* privilege =
reinterpret_cast<privilege_x*>(calloc(1, sizeof(privilege_x)));
+ if (!privilege) {
+ g_list_free_full(privileges, &common_installer::FreePrivilegeX);
+ return Status::ERROR;
+ }
privilege->type = strdup(common_installer::kWebPrivilegeType);
+ if (!privilege->type) {
+ common_installer::FreePrivilegeX(privilege);
+ g_list_free_full(privileges, &common_installer::FreePrivilegeX);
+ return Status::ERROR;
+ }
privilege->value = strdup(priv.c_str());
+ if (!privilege->value) {
+ common_installer::FreePrivilegeX(privilege);
+ g_list_free_full(privileges, &common_installer::FreePrivilegeX);
+ return Status::ERROR;
+ }
privileges = g_list_append(privileges, privilege);
}
}