summaryrefslogtreecommitdiffstats
path: root/sysfs.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2008-07-18 16:37:18 +1000
committerNeilBrown <neilb@suse.de>2008-07-18 16:37:18 +1000
commit8dfb8619f928d58ac7369c42e9f94dd0dabfed4b (patch)
tree597f328125b904bc1d4855840b07c66ecbebe6a0 /sysfs.c
parent7364918895b6b014d1a675c38973845cdf3baf41 (diff)
downloadmdadm-8dfb8619f928d58ac7369c42e9f94dd0dabfed4b.tar.gz
mdadm-8dfb8619f928d58ac7369c42e9f94dd0dabfed4b.tar.xz
mdadm-8dfb8619f928d58ac7369c42e9f94dd0dabfed4b.zip
sysfs: avoid possible data corruption in sys_load.
Don't retry to remove a newline from the end of an empty string. Signed-off-by: Neil Brown <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 bc021cc..8979ec4 100644
--- a/sysfs.c
+++ b/sysfs.c
@@ -37,7 +37,7 @@ int load_sys(char *path, char *buf)
if (n <0 || n >= 1024)
return -1;
buf[n] = 0;
- if (buf[n-1] == '\n')
+ if (n && buf[n-1] == '\n')
buf[n-1] = 0;
return 0;
}