summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorotto <otto@openbsd.org>2020-02-17 16:11:25 +0000
committerotto <otto@openbsd.org>2020-02-17 16:11:25 +0000
commit6965e1ead680cce09aef2c1cbafa51a02c18c4b6 (patch)
treedfba1e86d6e1463fd9c7072524e17ebc3c299590
parentDisable name resolution in tcpdump with -n. We always compare source and (diff)
downloadwireguard-openbsd-6965e1ead680cce09aef2c1cbafa51a02c18c4b6.tar.xz
wireguard-openbsd-6965e1ead680cce09aef2c1cbafa51a02c18c4b6.zip
Do not look for an FFS1 file system at SBLOCK_UFS2. Doing so will
find the wrong super-block for file systems with 64k block size. ok visa@
-rw-r--r--sbin/dumpfs/dumpfs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sbin/dumpfs/dumpfs.c b/sbin/dumpfs/dumpfs.c
index 908092560e0..c8fff9e3248 100644
--- a/sbin/dumpfs/dumpfs.c
+++ b/sbin/dumpfs/dumpfs.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dumpfs.c,v 1.34 2019/06/28 13:32:43 deraadt Exp $ */
+/* $OpenBSD: dumpfs.c,v 1.35 2020/02/17 16:11:25 otto Exp $ */
/*
* Copyright (c) 2002 Networks Associates Technology, Inc.
@@ -139,6 +139,8 @@ open_disk(const char *name)
if (n == SBLOCKSIZE && (afs.fs_magic == FS_UFS1_MAGIC ||
(afs.fs_magic == FS_UFS2_MAGIC &&
afs.fs_sblockloc == sbtry[i])) &&
+ !(afs.fs_magic == FS_UFS1_MAGIC &&
+ sbtry[i] == SBLOCK_UFS2) &&
afs.fs_bsize <= MAXBSIZE &&
afs.fs_bsize >= sizeof(struct fs))
break;