From d4c3389c52ab98814ac2a25dd5d542d745ef0ddb Mon Sep 17 00:00:00 2001
From: Federico Mandelli <federico.mandelli@skywarder.com>
Date: Sat, 9 Jul 2022 21:27:28 +0200
Subject: [PATCH] [canbus-dev] Removed usless comments and added an index check

---
 src/shared/drivers/canbus/CanProtocol.h | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/src/shared/drivers/canbus/CanProtocol.h b/src/shared/drivers/canbus/CanProtocol.h
index 73d751d55..ae2384a0b 100644
--- a/src/shared/drivers/canbus/CanProtocol.h
+++ b/src/shared/drivers/canbus/CanProtocol.h
@@ -174,7 +174,6 @@ protected:
 
                 packet   = can->getRXBuffer().pop().packet;
                 sourceId = (packet.id & idMask.source) >> 15;
-                // TRACE("source id %d\n", sourceId);
                 if (sourceId >= 0 &&
                     sourceId < NPACKET)  // check for maximum size
                 {
@@ -194,9 +193,6 @@ protected:
                             data[sourceId].canId =
                                 packet.id >> 7;  // discard the sequence number
                         }
-                        /*TRACE("len %d, nrec+1 %d, left to send %d\n",
-                              data[sourceId].len, (data[sourceId].nRec + 1),
-                              leftToSend);*/
                         if ((data[sourceId].len - (data[sourceId].nRec + 1)) ==
                             leftToSend)
                         {
@@ -208,16 +204,16 @@ protected:
                                 tempPayload =
                                     tempPayload | (tempData << (f * 8));
                             }
-                            /*TRACE(
-                                "sourceID %d, Payload index %d, tempPayload "
-                                "%llu\n",
-                                sourceId, data[sourceId].len - leftToSend - 1,
-                                tempPayload);*/
-                            // check for index
-                            data[sourceId]
-                                .payload[data[sourceId].len - leftToSend - 1] =
-                                tempPayload;
-                            data[sourceId].nRec++;
+                            if (data[sourceId].len - leftToSend - 1 >= 0 &&
+                                data[sourceId].len - leftToSend - 1 <
+                                    32)  // check for index
+                            {
+
+                                data[sourceId].payload[data[sourceId].len -
+                                                       leftToSend - 1] =
+                                    tempPayload;
+                                data[sourceId].nRec++;
+                            }
                         }
 
                         if (data[sourceId].nRec == data[sourceId].len &&
-- 
GitLab