summaryrefslogtreecommitdiff
path: root/sysfs.c
diff options
context:
space:
mode:
authorJes Sorensen <Jes.Sorensen@redhat.com>2011-11-03 08:07:39 +1100
committerNeilBrown <neilb@suse.de>2011-11-03 08:07:39 +1100
commit99f6e521592f06e7db0a2069c270dd6f9a5e2e89 (patch)
tree982a36536fabb4ffac2e2182f219388229a67428 /sysfs.c
parentd94a4f62bfa7950741f320cc49475fbc8c7046a0 (diff)
get_component_size(): Check read() return value for error before using it
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'sysfs.c')
-rw-r--r--sysfs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sysfs.c b/sysfs.c
index 6c17c5e4..d923f7fb 100644
--- a/sysfs.c
+++ b/sysfs.c
@@ -379,7 +379,7 @@ unsigned long long get_component_size(int fd)
return 0;
n = read(fd, fname, sizeof(fname));
close(fd);
- if (n == sizeof(fname))
+ if (n < 0 || n == sizeof(fname))
return 0;
fname[n] = 0;
return strtoull(fname, NULL, 10) * 2;