aboutsummaryrefslogtreecommitdiff
path: root/sys/geom/label
diff options
context:
space:
mode:
authorTakanori Watanabe <takawata@FreeBSD.org>2005-10-26 03:24:28 +0000
committerTakanori Watanabe <takawata@FreeBSD.org>2005-10-26 03:24:28 +0000
commitf83da457dc396d74e14698ce2d1f7a5536247ab9 (patch)
tree4873431bc0b0afc60884593632eb176de2484160 /sys/geom/label
parent6631d1e9cd692e5fd6bc26b238eb2ce228f5aab5 (diff)
downloadsrc-f83da457dc396d74e14698ce2d1f7a5536247ab9.tar.gz
src-f83da457dc396d74e14698ce2d1f7a5536247ab9.zip
Add checking for File record magic.
Notes
Notes: svn path=/head/; revision=151684
Diffstat (limited to 'sys/geom/label')
-rw-r--r--sys/geom/label/g_label_ntfs.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/geom/label/g_label_ntfs.c b/sys/geom/label/g_label_ntfs.c
index 5ec213f679a5..a16cca224516 100644
--- a/sys/geom/label/g_label_ntfs.c
+++ b/sys/geom/label/g_label_ntfs.c
@@ -75,6 +75,12 @@ g_label_ntfs_taste(struct g_consumer *cp, char *label, size_t size)
filerecp = g_read_data(cp, voloff, recsize, &error);
fr = (struct filerec *)filerecp;
+
+ if(fr->fr_fixup.fh_magic != NTFS_FILEMAGIC){
+ label[0] = 0;
+ goto done;
+ }
+
for (ap = filerecp + fr->fr_attroff; atr = (struct attr *)ap, atr->a_hdr.a_type != -1; ap += atr->a_hdr.reclen) {
if (atr->a_hdr.a_type == NTFS_A_VOLUMENAME) {
if(atr->a_r.a_datalen >= size *2){