From 5169021afdfcb0d9916bad3832708f3644266b38 Mon Sep 17 00:00:00 2001 From: Cosmin Popescu Date: Mon, 17 Dec 2018 18:52:58 +0200 Subject: [PATCH] mraa.c: Add fix for potential memory leak Signed-off-by: Cosmin Popescu Signed-off-by: Mihai Tudor Panu --- src/mraa.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mraa.c b/src/mraa.c index d568238..fd9c628 100644 --- a/src/mraa.c +++ b/src/mraa.c @@ -1374,10 +1374,13 @@ mraa_add_subplatform(mraa_platform_t subplatformtype, const char* dev) return MRAA_ERROR_FEATURE_NOT_SUPPORTED; } int i2c_bus; - if(mraa_atoi(strdup(dev), &i2c_bus) != MRAA_SUCCESS && i2c_bus < plat->i2c_bus_count) { + char *dev_dup = strdup(dev); + if(mraa_atoi(dev_dup, &i2c_bus) != MRAA_SUCCESS && i2c_bus < plat->i2c_bus_count) { syslog(LOG_NOTICE, "mraa: Cannot add GrovePi subplatform, invalid i2c bus specified"); + free(dev_dup); return MRAA_ERROR_INVALID_PARAMETER; } + free(dev_dup); if (mraa_grovepi_platform(plat, i2c_bus) == MRAA_GROVEPI) { syslog(LOG_NOTICE, "mraa: Added GrovePi subplatform"); return MRAA_SUCCESS;