summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoug Ledford <dledford@redhat.com>2010-07-20 17:35:27 -0400
committerDoug Ledford <dledford@redhat.com>2010-07-22 10:16:31 -0400
commit0155af90d8352d3ca031347e75854b3a5a4052ac (patch)
tree0fcd685dc5b35bc658de4c8c731b678ac4593d96
parent2913d9df16123e2453eacd24c3b3e1029887c21c (diff)
downloadmdadm-0155af90d8352d3ca031347e75854b3a5a4052ac.tar.gz
mdadm-0155af90d8352d3ca031347e75854b3a5a4052ac.tar.xz
mdadm-0155af90d8352d3ca031347e75854b3a5a4052ac.zip
Bugfix: don't issue a read larger than the buffer to hold it
Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r--Grow.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Grow.c b/Grow.c
index 3923a90..dd05d4d 100644
--- a/Grow.c
+++ b/Grow.c
@@ -1820,7 +1820,7 @@ int Grow_restart(struct supertype *st, struct mdinfo *info, int *fdlist, int cnt
}
/* There should be a duplicate backup superblock 4k before here */
if (lseek64(fd, -4096, 1) < 0 ||
- read(fd, &bsb2, 4096) != 4096)
+ read(fd, &bsb2, sizeof(bsb2)) != sizeof(bsb2))
goto second_fail; /* Cannot find leading superblock */
if (bsb.magic[15] == '1')
bsbsize = offsetof(struct mdp_backup_super, pad1);