diff --git a/src/MemoryBuffer.cpp b/src/MemoryBuffer.cpp index 7a077a3..f2f6ba0 100644 --- a/src/MemoryBuffer.cpp +++ b/src/MemoryBuffer.cpp @@ -24,30 +24,19 @@ #include "MemoryBuffer.h" #include -MemoryBuffer::MemoryBuffer(size_t size) : size_(size), buffer_(nullptr) +MemoryBuffer::MemoryBuffer(size_t size) : size_(size) { if (size_ > 0) { - buffer_ = static_cast(malloc(size_)); - if (buffer_ == nullptr) - { + buffer_ = std::make_unique(size); + if (buffer_.get() == nullptr) log_e("Memory allocation failed!"); - } - } -} - -MemoryBuffer::~MemoryBuffer() -{ - if (buffer_ != nullptr) - { - free(buffer_); - buffer_ = nullptr; } } uint8_t *MemoryBuffer::get() { - return buffer_; + return buffer_.get(); } size_t MemoryBuffer::size() const @@ -57,5 +46,5 @@ size_t MemoryBuffer::size() const bool MemoryBuffer::isAllocated() { - return buffer_ != nullptr; + return buffer_.get() != nullptr; } diff --git a/src/MemoryBuffer.h b/src/MemoryBuffer.h index 7109123..67024cc 100644 --- a/src/MemoryBuffer.h +++ b/src/MemoryBuffer.h @@ -25,6 +25,7 @@ #define MEMORYBUFFER_H #include +#include /** * @class MemoryBuffer @@ -66,13 +67,6 @@ class MemoryBuffer */ explicit MemoryBuffer(size_t size); - /** - * @brief Destructor that frees the allocated memory. - * - * The destructor automatically frees the memory allocated for the buffer when the object is destroyed. - */ - ~MemoryBuffer(); - /** * @brief Returns a pointer to the allocated memory buffer. * @@ -95,8 +89,8 @@ class MemoryBuffer bool isAllocated(); private: - size_t size_; // Size of the allocated buffer - uint8_t *buffer_; // Pointer to the allocated buffer + size_t size_; + std::unique_ptr buffer_; }; #endif // MEMORYBUFFER_H