From fefe0a24cd844df83bda0973ad0bb181c155cf64 Mon Sep 17 00:00:00 2001 From: Brendan Le Foll Date: Wed, 26 Nov 2014 13:56:10 +0000 Subject: [PATCH] gpio.c: check return status of open call Signed-off-by: Brendan Le Foll --- src/gpio/gpio.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gpio/gpio.c b/src/gpio/gpio.c index ceb6b0d..47d02c4 100644 --- a/src/gpio/gpio.c +++ b/src/gpio/gpio.c @@ -180,7 +180,12 @@ mraa_gpio_interrupt_handler(void* arg) // open gpio value with open(3) char bu[MAX_SIZE]; sprintf(bu, SYSFS_CLASS_GPIO "/gpio%d/value", dev->pin); - dev->isr_value_fp = open(bu, O_RDONLY); + int fp = open(bu, O_RDONLY); + if (fp < 0) { + syslog(LOG_ERR, "gpio: failed to open gpio%d/value", dev->pin); + return NULL; + } + dev->isr_value_fp = fp; for (;;) { ret = mraa_gpio_wait_interrupt(dev->isr_value_fp);