From d0fd1b59cdc99cf8e8319cf3e7aced2b63329b3a Mon Sep 17 00:00:00 2001 From: Andriy Byzhynar Date: Fri, 15 Dec 2017 16:19:51 +0200 Subject: 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 --- src/components/policy/policy_regular/src/cache_manager.cc | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/components/policy/policy_regular/src/cache_manager.cc') 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); -- cgit v1.2.1