From 21aed657a4896cb743758222856d3028af3b84b5 Mon Sep 17 00:00:00 2001
From: athatheocsd <athatheo@csd.auth.gr>
Date: Wed, 5 Dec 2018 21:31:57 +0200
Subject: [PATCH] Protected against out of bounds array error.

---
 src/Services/EventReportService.cpp | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/Services/EventReportService.cpp b/src/Services/EventReportService.cpp
index 86f3c8fb..3e3c7af4 100644
--- a/src/Services/EventReportService.cpp
+++ b/src/Services/EventReportService.cpp
@@ -51,12 +51,14 @@ EventReportService::highSeverityAnomalyReport(Event eventID, const uint8_t *data
 void EventReportService::enableReportGeneration(uint8_t length, Event *eventID) {
 	// TC[5,5]
 	/**
-	 * @todo: Add informationEventReport with notification if failed start of execution
-	 * according to standard 6.5.5.2.e
+	 * @todo: Report an error if length>numberOfEvents
 	 */
-	for (uint8_t i = 0; i < length; i++) {
-		stateOfEvents[static_cast<uint8_t> (eventID[i])] = 1;
+	if (length <= numberOfEvents) {
+		for (uint8_t i = 0; i < length; i++) {
+			stateOfEvents[static_cast<uint8_t> (eventID[i])] = 1;
+		}
 	}
+
 }
 
 void EventReportService::disableReportGeneration(uint8_t length, Event *eventID) {
-- 
GitLab