summaryrefslogtreecommitdiffstats
path: root/sys/geom/label
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2005-08-28 00:14:21 +0000
committerpjd <pjd@FreeBSD.org>2005-08-28 00:14:21 +0000
commitfc694070c0e025c6bf5cb8ab5448868cbbfbef01 (patch)
tree43ac5408902a9f5d1b8e0e5abec5ee0783d85204 /sys/geom/label
parent97de855505e7a4beb26e5cde0eacdb0a008941ba (diff)
downloadFreeBSD-src-fc694070c0e025c6bf5cb8ab5448868cbbfbef01.zip
FreeBSD-src-fc694070c0e025c6bf5cb8ab5448868cbbfbef01.tar.gz
Verify length of the data to read as well.
Diffstat (limited to 'sys/geom/label')
-rw-r--r--sys/geom/label/g_label_ntfs.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/geom/label/g_label_ntfs.c b/sys/geom/label/g_label_ntfs.c
index 76035fe..5ec213f 100644
--- a/sys/geom/label/g_label_ntfs.c
+++ b/sys/geom/label/g_label_ntfs.c
@@ -65,6 +65,8 @@ g_label_ntfs_taste(struct g_consumer *cp, char *label, size_t size)
mftrecsz = (char)bf->bf_mftrecsz;
recsize = (mftrecsz > 0) ? (mftrecsz * bf->bf_bps * bf->bf_spc) : (1 << -mftrecsz);
+ if(recsize % pp->sectorsize != 0)
+ goto done;
voloff = bf->bf_mftcn * bf->bf_spc * bf->bf_bps +
recsize * NTFS_VOLUMEINO;
OpenPOWER on IntegriCloud