summaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
authorAndriy Byzhynar <AByzhynar@luxoft.com>2017-12-15 16:19:51 +0200
committerAndriy Byzhynar <AByzhynar@luxoft.com>2017-12-15 16:19:51 +0200
commitd0fd1b59cdc99cf8e8319cf3e7aced2b63329b3a (patch)
treeda3ebcc4e0d94cd9c2d47209bb2d65adea574b91 /src/components
parent0b19cf498d1c9972d67b85793dc6b029c26378a0 (diff)
downloadsdl_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.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 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);