diff options
author | Hartmut Knaack <knaack.h@gmx.de> | 2015-05-31 15:39:59 +0300 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2015-05-31 19:42:34 +0300 |
commit | dc8b5d6e633f8e54f70594d0be87aaf401ea0559 (patch) | |
tree | f5e63a71ac3522b744c32ae292fe7bbb5563e240 | |
parent | 8e926134ef15267f65ddfc7389c8078234610295 (diff) | |
download | linux-dc8b5d6e633f8e54f70594d0be87aaf401ea0559.tar.xz |
tools:iio:iio_utils: check amount of matches
fscanf() usually returns the number of input items successfully matched
and assigned, which can be fewer than provided (or even zero).
Add a check in iioutils_get_type() to make sure all items are matched.
Signed-off-by: Hartmut Knaack <knaack.h@gmx.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
-rw-r--r-- | tools/iio/iio_utils.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/iio/iio_utils.c b/tools/iio/iio_utils.c index f12bc2e81c80..c5b4136e648a 100644 --- a/tools/iio/iio_utils.c +++ b/tools/iio/iio_utils.c @@ -144,6 +144,10 @@ int iioutils_get_type(unsigned *is_signed, ret = -errno; printf("failed to pass scan type description\n"); goto error_close_sysfsfp; + } else if (ret != 5) { + ret = -EIO; + printf("scan type description didn't match\n"); + goto error_close_sysfsfp; } *be = (endianchar == 'b'); *bytes = padint / 8; |