summaryrefslogtreecommitdiff
path: root/src/components/policy/policy_regular/src/cache_manager.cc
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2018-02-12 15:30:47 -0500
committerGitHub <noreply@github.com>2018-02-12 15:30:47 -0500
commit37614e497366fb2a91f788da72fc9046527fcff2 (patch)
treeec2b267e0205eb530c39e495e81aa61a57f37e34 /src/components/policy/policy_regular/src/cache_manager.cc
parent23e265c6d34d7179949fefa4b6a4b4b0c6698a57 (diff)
parent02c482c54cf430ab751f1d5e843d04db372593d3 (diff)
downloadsdl_core-37614e497366fb2a91f788da72fc9046527fcff2.tar.gz
Merge pull request #1969 from AByzhynar/fix/PoliciesManager_allows_all_requested_params_in_case_parameters_field_is_empty
Fix/policies manager allows all requested params in case parameters field is empty
Diffstat (limited to 'src/components/policy/policy_regular/src/cache_manager.cc')
-rw-r--r--src/components/policy/policy_regular/src/cache_manager.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/components/policy/policy_regular/src/cache_manager.cc b/src/components/policy/policy_regular/src/cache_manager.cc
index 94a33a1e04..c9af251b69 100644
--- a/src/components/policy/policy_regular/src/cache_manager.cc
+++ b/src/components/policy/policy_regular/src/cache_manager.cc
@@ -483,6 +483,13 @@ void CacheManager::CheckPermissions(const policy_table::Strings& groups,
if (rpcs.rpcs.end() != rpc_iter) {
policy_table::RpcParameters rpc_param = rpc_iter->second;
+ if (rpc_param.parameters.is_initialized() &&
+ rpc_param.parameters->empty()) {
+ // If "parameters" field exist in PT section of incoming RPC but empty
+ // all params considered as DISALLOWED
+ result.hmi_level_permitted = kRpcDisallowed;
+ return;
+ }
policy_table::HmiLevel hmi_level_e;
policy_table::EnumFromJsonString(hmi_level, &hmi_level_e);