diff --git a/src/Services/MemMangService.cpp b/src/Services/MemMangService.cpp
index 060cfbfe8db250200ad3df9076756c302c6dd72d..d5c545396e695eba818672a46bbc60499ebe76b6 100644
--- a/src/Services/MemMangService.cpp
+++ b/src/Services/MemMangService.cpp
@@ -1,5 +1,6 @@
 #include "Services/MemMangService.hpp"
 #include <iostream>
+#include <cerrno>
 
 // Define the constructors for the classes
 MemoryManagementService::MemoryManagementService() : rawDataMemorySubservice(this) {
@@ -67,6 +68,11 @@ void MemoryManagementService::RawDataMemoryManagement::dumpRawData(Message &requ
 		// Allocate more array space if needed
 		if (allocatedLength < readLength) {
 			readData = static_cast<uint8_t *>(realloc(readData, readLength));
+			if (!readData) {
+				// todo: Add error logging and reporting
+				free(readData);
+				return;
+			}
 		}
 
 		// Read memory data, an octet at a time