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 | |
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
-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); |