From cfa353d3e39a69372ac8c5028c0b0503735a27ce Mon Sep 17 00:00:00 2001
From: Theodoros Katzalis <thodkatz@gmail.com>
Date: Wed, 20 Mar 2019 21:02:48 +0200
Subject: [PATCH] Added an error condition

Minor changes
---
 src/Message.cpp              | 7 +++++--
 src/Platform/x86/Service.cpp | 5 ++++-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/Message.cpp b/src/Message.cpp
index d9b9b2c1..8ee7e181 100644
--- a/src/Message.cpp
+++ b/src/Message.cpp
@@ -37,8 +37,11 @@ void Message::appendBits(uint8_t numBits, uint16_t data) {
 }
 
 void Message::finalize() {
-	if(currentBit != 0)
-	dataSize++;
+	assertI(dataSize < ECSS_MAX_MESSAGE_SIZE, ErrorHandler::MessageTooLarge);
+
+	if (currentBit != 0) {
+		dataSize++;
+	}
 }
 
 void Message::appendByte(uint8_t value) {
diff --git a/src/Platform/x86/Service.cpp b/src/Platform/x86/Service.cpp
index ff9d9d95..b148c242 100644
--- a/src/Platform/x86/Service.cpp
+++ b/src/Platform/x86/Service.cpp
@@ -2,7 +2,10 @@
 #include <iomanip>
 #include "Service.hpp"
 
-void Service::storeMessage(const Message &message) {
+void Service::storeMessage(Message & message) {
+	// appends the remaining bits to complete a byte
+	message.finalize();
+
 	// Just print it to the screen
 	std::cout << "New " << ((message.packetType == Message::TM) ? "TM" : "TC") << "["
 	          << std::hex
-- 
GitLab