From d4b32ec1c5fe77f8bd8fb1c3ab9f42c04ba6d7dd Mon Sep 17 00:00:00 2001 From: Brendan Le Foll Date: Mon, 21 Dec 2015 15:48:44 +0000 Subject: [PATCH] iio.c: Check return of fscanf Signed-off-by: Brendan Le Foll --- src/iio/iio.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/iio/iio.c b/src/iio/iio.c index 26dba06..ddc7157 100644 --- a/src/iio/iio.c +++ b/src/iio/iio.c @@ -531,14 +531,18 @@ mraa_iio_get_mounting_matrix(mraa_iio_context dev, float mm[9]) { char buf[MAX_SIZE]; FILE* fp; + int ret; memset(buf, 0, MAX_SIZE); snprintf(buf, MAX_SIZE, IIO_SYSFS_DEVICE "%d/" IIO_MOUNTING_MATRIX, dev->num); fp = fopen(buf, "r"); if (fp != NULL) { - fscanf(fp, "%f %f %f\n%f %f %f\n%f %f %f\n", &mm[0], &mm[1], &mm[2], &mm[3], &mm[4], &mm[5], + ret = fscanf(fp, "%f %f %f\n%f %f %f\n%f %f %f\n", &mm[0], &mm[1], &mm[2], &mm[3], &mm[4], &mm[5], &mm[6], &mm[7], &mm[8]); fclose(fp); + if (ret != 9) { + return MRAA_ERROR_UNSPECIFIED; + } return MRAA_SUCCESS; } return MRAA_ERROR_UNSPECIFIED; -- 2.7.4