diff options
author | Andriy Byzhynar <AByzhynar@luxoft.com> | 2017-12-15 16:19:51 +0200 |
---|---|---|
committer | Andriy Byzhynar <AByzhynar@luxoft.com> | 2017-12-15 16:19:51 +0200 |
commit | d0fd1b59cdc99cf8e8319cf3e7aced2b63329b3a (patch) | |
tree | da3ebcc4e0d94cd9c2d47209bb2d65adea574b91 /src/components | |
parent | 0b19cf498d1c9972d67b85793dc6b029c26378a0 (diff) | |
download | sdl_core-d0fd1b59cdc99cf8e8319cf3e7aced2b63329b3a.tar.gz |
Add SDL behavor handling in case of RPC parameters field exists but empty
Added check for RPC parameters existence and emptiness
Added necessary SDL behaviour for case specified above
Diffstat (limited to 'src/components')
-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 98652656c3..6f3d3a66a8 100644 --- a/src/components/policy/policy_regular/src/cache_manager.cc +++ b/src/components/policy/policy_regular/src/cache_manager.cc @@ -463,6 +463,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); |