From 93f1df335551a27b4d2cd1a3031ef6bf2a29809b Mon Sep 17 00:00:00 2001 From: Jes Sorensen Date: Tue, 1 Nov 2011 16:09:20 +0100 Subject: [PATCH] sysfs_unique_holder(): Check read() return value before using as buffer index Signed-off-by: Jes Sorensen Signed-off-by: NeilBrown --- sysfs.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sysfs.c b/sysfs.c index a5fcdd0..6c17c5e 100644 --- a/sysfs.c +++ b/sysfs.c @@ -796,6 +796,8 @@ int sysfs_unique_holder(int devnum, long rdev) } n = read(fd, buf, sizeof(buf)-1); close(fd); + if (n < 0) + continue; buf[n] = 0; if (sscanf(buf, "%d:%d%c", &mj, &mn, &c) != 3 || c != '\n') {