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