diff options
author | JackLivio <jack@livio.io> | 2019-04-03 15:51:56 -0400 |
---|---|---|
committer | JackLivio <jack@livio.io> | 2019-04-03 15:51:56 -0400 |
commit | f84bb53084e44862af2ab8db9a55dd9f3eef48d8 (patch) | |
tree | 66f11f3686112ef15febd5066f1369416b716d4b /src/components/application_manager/src/rpc_handler_impl.cc | |
parent | a9bfe3f45e64b3af3d2373e9725d98e31b5199cb (diff) | |
download | sdl_core-f84bb53084e44862af2ab8db9a55dd9f3eef48d8.tar.gz |
Check if correlation id < 1 for requests
Diffstat (limited to 'src/components/application_manager/src/rpc_handler_impl.cc')
-rw-r--r-- | src/components/application_manager/src/rpc_handler_impl.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/components/application_manager/src/rpc_handler_impl.cc b/src/components/application_manager/src/rpc_handler_impl.cc index 6205e028d0..8719fa4da0 100644 --- a/src/components/application_manager/src/rpc_handler_impl.cc +++ b/src/components/application_manager/src/rpc_handler_impl.cc @@ -74,6 +74,23 @@ void RPCHandlerImpl::ProcessMessageFromMobile( return; } + if (message->type() == application_manager::MessageType::kRequest && + message->correlation_id() < 0) { + LOG4CXX_ERROR(logger_, "Request correlation id < 0. Returning INVALID_ID"); + std::shared_ptr<smart_objects::SmartObject> response( + MessageHelper::CreateNegativeResponse(message->connection_key(), + message->function_id(), + message->correlation_id(), + mobile_apis::Result::INVALID_ID)); + (*response)[strings::params][strings::correlation_id] = + message->correlation_id(); + (*response)[strings::msg_params][strings::info] = + "Invalid Correlation ID for RPC Request"; + app_manager_.GetRPCService().ManageMobileCommand( + response, commands::Command::SOURCE_SDL); + return; + } + bool rpc_passing = app_manager_.GetAppServiceManager() .GetRPCPassingHandler() .CanHandleFunctionID(message->function_id()); |