aboutsummaryrefslogtreecommitdiff
path: root/sys/isofs
diff options
context:
space:
mode:
authorBruce Evans <bde@FreeBSD.org>1998-10-25 19:26:18 +0000
committerBruce Evans <bde@FreeBSD.org>1998-10-25 19:26:18 +0000
commit65baf8f06be716fc398b13c46e97cc7eab2bb5f0 (patch)
tree58a855fd5434c8a7e732c191547e3286bbfc4205 /sys/isofs
parent9cd93b3aecdc2272aaff51808129066e8e34281d (diff)
downloadsrc-65baf8f06be716fc398b13c46e97cc7eab2bb5f0.tar.gz
src-65baf8f06be716fc398b13c46e97cc7eab2bb5f0.zip
Don't follow null bdevsw pointers. The `major(dev) < nblkdev' test rotted
when bdevsw[] became sparse. We still depend on magic to avoid having to check that (v_rdev) device numbers in vnodes are not NODEV.
Notes
Notes: svn path=/head/; revision=40651
Diffstat (limited to 'sys/isofs')
-rw-r--r--sys/isofs/cd9660/cd9660_vfsops.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/isofs/cd9660/cd9660_vfsops.c b/sys/isofs/cd9660/cd9660_vfsops.c
index fb877ca1a412..69e3ebd0c748 100644
--- a/sys/isofs/cd9660/cd9660_vfsops.c
+++ b/sys/isofs/cd9660/cd9660_vfsops.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_vfsops.c 8.18 (Berkeley) 5/22/95
- * $Id: cd9660_vfsops.c,v 1.43 1998/09/07 13:17:00 bde Exp $
+ * $Id: cd9660_vfsops.c,v 1.44 1998/09/14 19:56:39 sos Exp $
*/
#include <sys/param.h>
@@ -229,7 +229,8 @@ cd9660_mount(mp, path, data, ndp, p)
vrele(devvp);
return ENOTBLK;
}
- if (major(devvp->v_rdev) >= nblkdev) {
+ if (major(devvp->v_rdev) >= nblkdev ||
+ bdevsw[major(devvp->v_rdev)] == NULL) {
vrele(devvp);
return ENXIO;
}