Private
Public Access
2
0

stability: replace sprintf with snprintf to avoid potential overflows

Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com>
This commit is contained in:
Alex Tereschenko
2017-05-13 18:08:00 +02:00
parent 918e2b18e2
commit 0654183b9a
5 changed files with 7 additions and 7 deletions

View File

@@ -248,7 +248,7 @@ mraa_gpio_interrupt_handler(void* arg)
} else {
// open gpio value with open(3)
char bu[MAX_SIZE];
sprintf(bu, SYSFS_CLASS_GPIO "/gpio%d/value", dev->pin);
snprintf(bu, MAX_SIZE, SYSFS_CLASS_GPIO "/gpio%d/value", dev->pin);
fp = open(bu, O_RDONLY);
if (fp < 0) {
syslog(LOG_ERR, "gpio%i: interrupt_handler: failed to open 'value' : %s", dev->pin, strerror(errno));

View File

@@ -355,7 +355,7 @@ mraa_iio_trigger_buffer(mraa_iio_context dev, void (*fptr)(char* data), void* ar
return MRAA_ERROR_NO_RESOURCES;
}
sprintf(bu, IIO_SLASH_DEV "%d", dev->num);
snprintf(bu, MAX_SIZE, IIO_SLASH_DEV "%d", dev->num);
dev->fp = open(bu, O_RDONLY | O_NONBLOCK);
if (dev->fp == -1) {
return MRAA_ERROR_INVALID_RESOURCE;
@@ -505,7 +505,7 @@ mraa_iio_event_setup_callback(mraa_iio_context dev, void (*fptr)(struct iio_even
return MRAA_ERROR_NO_RESOURCES;
}
sprintf(bu, IIO_SLASH_DEV "%d", dev->num);
snprintf(bu, MAX_SIZE, IIO_SLASH_DEV "%d", dev->num);
dev->fp = open(bu, O_RDONLY | O_NONBLOCK);
if (dev->fp == -1) {
return MRAA_ERROR_INVALID_RESOURCE;

View File

@@ -102,8 +102,8 @@ mraa_pwm_write_duty(mraa_pwm_context dev, int duty)
return MRAA_ERROR_INVALID_RESOURCE;
}
}
char bu[64];
int length = sprintf(bu, "%d", duty);
char bu[MAX_SIZE];
int length = snprintf(bu, MAX_SIZE, "%d", duty);
if (write(dev->duty_fp, bu, length * sizeof(char)) == -1)
{
syslog(LOG_ERR, "pwm%i write_duty: Failed to write to duty_cycle: %s", dev->pin, strerror(errno));

View File

@@ -157,7 +157,7 @@ mraa_spi_init_raw(unsigned int bus, unsigned int cs)
}
char path[MAX_SIZE];
sprintf(path, "/dev/spidev%u.%u", bus, cs);
snprintf(path, MAX_SIZE, "/dev/spidev%u.%u", bus, cs);
dev->devfd = open(path, O_RDWR);
if (dev->devfd < 0) {

View File

@@ -140,7 +140,7 @@ mraa_intel_edison_pinmode_change(int sysfs, int mode)
mraa_result_t ret = MRAA_SUCCESS;
char mode_buf[MAX_MODE_SIZE];
int length = sprintf(mode_buf, "%s%u", useDebugFS ? "mode" : "", mode);
int length = snprintf(mode_buf, MAX_MODE_SIZE, "%s%u", useDebugFS ? "mode" : "", mode);
if (write(modef, mode_buf, length * sizeof(char)) == -1) {
ret = MRAA_ERROR_INVALID_RESOURCE;
}