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