From 05aa35b7a67737d35b95e7cb61103f24b3c29dcb Mon Sep 17 00:00:00 2001 From: athatheocsd <athatheo@csd.auth.gr> Date: Wed, 9 Jan 2019 20:33:56 +0200 Subject: [PATCH] Added an error report in addEventActionDefinition --- src/Services/EventActionService.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Services/EventActionService.cpp b/src/Services/EventActionService.cpp index e2a40383..63f3e9f1 100644 --- a/src/Services/EventActionService.cpp +++ b/src/Services/EventActionService.cpp @@ -25,9 +25,13 @@ void EventActionService::addEventActionDefinitions(Message message) { eventActionDefinitionArray[index].eventDefinitionID = message.readEnum16(); // Tests pass with message.dataSize - 3, message.dataSize - 4, but not // message.dataSize - 5 - message.readString(data, message.dataSize); - eventActionDefinitionArray[index].request = String<ECSS_EVENT_SERVICE_STRING_SIZE>( - data); + if (message.dataSize - 4 > ECSS_EVENT_SERVICE_STRING_SIZE) { // Should this be >= ? + ErrorHandler::reportInternalError(ErrorHandler::InternalErrorType::MessageTooLarge); + } else { + message.readString(data, message.dataSize); + eventActionDefinitionArray[index].request = String<ECSS_EVENT_SERVICE_STRING_SIZE>( + data); + } } } } -- GitLab