diff options
author | kib <kib@FreeBSD.org> | 2008-06-07 05:49:24 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2008-06-07 05:49:24 +0000 |
commit | bcf4110c1e24e4b9a14d3151bed75bf114f0d2b4 (patch) | |
tree | 853cc12da86b36dfd4229aff5b995d1645012823 /sys/boot | |
parent | 0c94928735a0c1b2c8e69e4b676f2b4ad29062db (diff) | |
download | FreeBSD-src-bcf4110c1e24e4b9a14d3151bed75bf114f0d2b4.zip FreeBSD-src-bcf4110c1e24e4b9a14d3151bed75bf114f0d2b4.tar.gz |
Fix the incorrect calculation of a block address within a single indirect
block.
PR: 108215
Submitted by: Yuichiro Goto, y7goto gmail com
MFC after: 2 weeks
Diffstat (limited to 'sys/boot')
-rw-r--r-- | sys/boot/common/ufsread.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/boot/common/ufsread.c b/sys/boot/common/ufsread.c index 2b778bd..673616a 100644 --- a/sys/boot/common/ufsread.c +++ b/sys/boot/common/ufsread.c @@ -249,7 +249,7 @@ fsread(ino_t inode, void *buf, size_t nbyte) } else if (lbn < NDADDR + NINDIR(fs)) { n = INDIRPERVBLK(fs); addr = DIP(di_ib[0]); - u = (u_int)(lbn - NDADDR) / (n * DBPERVBLK); + u = (u_int)(lbn - NDADDR) / n * DBPERVBLK; vbaddr = fsbtodb(fs, addr) + u; if (indmap != vbaddr) { if (dskread(indbuf, vbaddr, DBPERVBLK)) |