iio.c: Check return of fd before using ioctl
authorBrendan Le Foll <brendan.le.foll@intel.com>
Mon, 21 Dec 2015 15:48:28 +0000 (15:48 +0000)
committerBrendan Le Foll <brendan.le.foll@intel.com>
Mon, 21 Dec 2015 15:48:28 +0000 (15:48 +0000)
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
src/iio/iio.c

index 1d02983..26dba06 100644 (file)
@@ -443,8 +443,12 @@ mraa_iio_event_poll(mraa_iio_context dev, struct iio_event_data* data)
 
     snprintf(bu, MAX_SIZE, IIO_SLASH_DEV "%d", dev->num);
     fd = open(bu, 0);
-    ret = ioctl(fd, IIO_GET_EVENT_FD_IOCTL, &event_fd);
-    close(fd);
+    if (fd != -1) {
+        ret = ioctl(fd, IIO_GET_EVENT_FD_IOCTL, &event_fd);
+        close(fd);
+    } else {
+        return MRAA_ERROR_UNSPECIFIED;
+    }
 
     if (ret == -1 || event_fd == -1)
         return MRAA_ERROR_UNSPECIFIED;