Skip to content

Commit

Permalink
drivers:linux_platform:platform_drivers: fix memory leak
Browse files Browse the repository at this point in the history
Free allocated memory in each function where memory is
allocated for 'descriptor' pointer.

Signed-off-by: Antoniu Miclaus <[email protected]>
  • Loading branch information
amiclaus authored and commodo committed Sep 12, 2018
1 parent 9513116 commit 1077a61
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions drivers/linux_platform/platform_drivers.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ int32_t i2c_init(i2c_desc **desc,
descriptor->fd = open(param->pathname, O_RDWR);
if (descriptor->fd < 0) {
printf("%s: Can't open device\n\r", __func__);
free(descriptor);
return FAILURE;
}

Expand Down Expand Up @@ -192,20 +193,25 @@ int32_t spi_init(spi_desc **desc, const spi_init_param *param)
descriptor->fd = open(param->pathname, O_RDWR);
if (descriptor->fd < 0) {
printf("%s: Can't open device\n\r", __func__);
free(descriptor);
return FAILURE;
}

ret = ioctl(descriptor->fd, SPI_IOC_WR_MODE,
&param->mode);
if (ret == -1) {
printf("%s: Can't set mode\n\r", __func__);
close(descriptor->fd);
free(descriptor);
return FAILURE;
}

ret = ioctl(descriptor->fd, SPI_IOC_WR_MAX_SPEED_HZ,
&param->max_speed_hz);
if (ret == -1) {
printf("%s: Can't set speed\n\r", __func__);
close(descriptor->fd);
free(descriptor);
return FAILURE;
}

Expand Down Expand Up @@ -285,19 +291,23 @@ int32_t gpio_get(gpio_desc **desc,
fd = open("/sys/class/gpio/export", O_WRONLY);
if (fd < 0) {
printf("%s: Can't open device\n\r", __func__);
free(descriptor);
return FAILURE;
}

len = sprintf(buf, "%d", gpio_number);
ret = write(fd, buf, len);
if (ret < 0) {
printf("%s: Can't write to file\n\r", __func__);
close(fd);
free(descriptor);
return FAILURE;
}

ret = close(fd);
if (ret < 0) {
printf("%s: Can't close device\n\r", __func__);
free(descriptor);
return FAILURE;
}

Expand Down

0 comments on commit 1077a61

Please sign in to comment.