memleak: Handle freeing return from spi call

mraa_spi_write_buf returns an allocated buffer.  Added call to free
the allocated memory.

Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit is contained in:
Noel Eck 2017-03-29 16:31:01 -07:00
parent 8048e8734f
commit fa8ab6194d
2 changed files with 8 additions and 3 deletions

View File

@ -125,10 +125,14 @@ upm_result_t apa102_set_leds_brightness(apa102_context dev, uint16_t s_index, ui
upm_result_t apa102_refresh(apa102_context dev) {
assert(dev != NULL);
if(!dev->cs) {
uint8_t* recv =
mraa_spi_write_buf(dev->spi, dev->buffer, dev->framelength);
if (recv != NULL) free(recv);
} else {
mraa_gpio_write(dev->cs, 1);
uint8_t* recv =
mraa_spi_write_buf(dev->spi, dev->buffer, dev->framelength);
if (recv != NULL) free(recv);
mraa_gpio_write(dev->cs, 0);
}
return UPM_SUCCESS;

View File

@ -165,7 +165,8 @@ void
APA102::pushState(void)
{
CSOn();
m_spi->write(m_leds, m_frameLength);
uint8_t* recv = m_spi->write(m_leds, m_frameLength);
if (recv != NULL) free(recv);
CSOff();
}