diff options
author | JackLivio <jack@livio.io> | 2018-02-12 15:30:47 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-12 15:30:47 -0500 |
commit | 37614e497366fb2a91f788da72fc9046527fcff2 (patch) | |
tree | ec2b267e0205eb530c39e495e81aa61a57f37e34 /src/components/policy/policy_regular/src/cache_manager.cc | |
parent | 23e265c6d34d7179949fefa4b6a4b4b0c6698a57 (diff) | |
parent | 02c482c54cf430ab751f1d5e843d04db372593d3 (diff) | |
download | sdl_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.cc | 7 |
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); |