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