From 3fc89c58354ad38f52c6bd5b996a0eb340925091 Mon Sep 17 00:00:00 2001 From: James Foster Date: Mon, 30 Nov 2020 15:47:49 -0800 Subject: [PATCH 1/2] Release memory allocated in constructors --- Adafruit_SPIDevice.cpp | 8 ++++++++ Adafruit_SPIDevice.h | 1 + 2 files changed, 9 insertions(+) diff --git a/Adafruit_SPIDevice.cpp b/Adafruit_SPIDevice.cpp index d5ecdc9..63a9c7a 100644 --- a/Adafruit_SPIDevice.cpp +++ b/Adafruit_SPIDevice.cpp @@ -70,6 +70,14 @@ Adafruit_SPIDevice::Adafruit_SPIDevice(int8_t cspin, int8_t sckpin, _spi = NULL; } +// release memory allocated in constructors +Adafruit_SPIDevice::~Adafruit_SPIDevice() { + if (_spiSetting) { + delete _spiSetting; + _spiSetting = nullptr; + } +} + /*! * @brief Initializes SPI bus and sets CS pin high * @return Always returns true because there's no way to test success of SPI diff --git a/Adafruit_SPIDevice.h b/Adafruit_SPIDevice.h index 3d0c32d..e64028a 100644 --- a/Adafruit_SPIDevice.h +++ b/Adafruit_SPIDevice.h @@ -64,6 +64,7 @@ public: uint32_t freq = 1000000, BitOrder dataOrder = SPI_BITORDER_MSBFIRST, uint8_t dataMode = SPI_MODE0); + ~Adafruit_SPIDevice(); bool begin(void); bool read(uint8_t *buffer, size_t len, uint8_t sendvalue = 0xFF); From b837d9c427fdf3b69fa9c03f289b5f7a7432d54d Mon Sep 17 00:00:00 2001 From: James Foster Date: Mon, 30 Nov 2020 15:55:28 -0800 Subject: [PATCH 2/2] Edit comment to match other functions. --- Adafruit_SPIDevice.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Adafruit_SPIDevice.cpp b/Adafruit_SPIDevice.cpp index 63a9c7a..1238be6 100644 --- a/Adafruit_SPIDevice.cpp +++ b/Adafruit_SPIDevice.cpp @@ -70,7 +70,9 @@ Adafruit_SPIDevice::Adafruit_SPIDevice(int8_t cspin, int8_t sckpin, _spi = NULL; } -// release memory allocated in constructors +/*! + * @brief Release memory allocated in constructors + */ Adafruit_SPIDevice::~Adafruit_SPIDevice() { if (_spiSetting) { delete _spiSetting;