diff --git a/src/libdramsys/DRAMSys/common/MemoryManager.cpp b/src/libdramsys/DRAMSys/common/MemoryManager.cpp index b88dbb84..1e4ee14e 100644 --- a/src/libdramsys/DRAMSys/common/MemoryManager.cpp +++ b/src/libdramsys/DRAMSys/common/MemoryManager.cpp @@ -35,6 +35,7 @@ * Matthias Jung * Lukas Steiner * Derek Christ + * Thomas Zimmermann */ #include "MemoryManager.h" @@ -51,8 +52,13 @@ MemoryManager::~MemoryManager() while (!stack.empty()) { tlm::tlm_generic_payload* payload = stack.top(); - if (size != 0) - delete[] payload->get_data_ptr(); + if (storageEnabled) + { + unsigned char* ptr = payload->get_data_ptr(); + if (ptr != nullptr) { + delete[] ptr; + } + } payload->reset(); delete payload;