ISOFS fixed from Bruce Evans:
[unix-history] / sys / isofs / isofs_vfsops.c
index 92daa29..cab949b 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- *     $Id: isofs_vfsops.c,v 1.3 1993/10/24 04:29:08 rgrimes Exp $
+ *     $Id: isofs_vfsops.c,v 1.5 1993/12/19 00:51:07 wollman Exp $
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -43,6 +43,8 @@ struct vfsops isofs_vfsops = {
  */
 #define ROOTNAME       "root_device"
 
  */
 #define ROOTNAME       "root_device"
 
+static int iso_mountfs(struct vnode *, struct mount *, struct proc *);
+
 int
 isofs_mountroot()
 {
 int
 isofs_mountroot()
 {
@@ -196,7 +198,7 @@ isofs_mount(mp, path, data, ndp, p)
 /*
  * Common code for mount and mountroot
  */
 /*
  * Common code for mount and mountroot
  */
-int
+static int
 iso_mountfs(devvp, mp, p)
        register struct vnode *devvp;
        struct mount *mp;
 iso_mountfs(devvp, mp, p)
        register struct vnode *devvp;
        struct mount *mp;
@@ -519,7 +521,7 @@ isofs_fhtovp(mp, fhp, vpp)
                return (EINVAL);
 
        if (ifhp->ifid_offset + sizeof (struct iso_directory_record)
                return (EINVAL);
 
        if (ifhp->ifid_offset + sizeof (struct iso_directory_record)
-           >= imp->im_bsize)
+           > imp->im_bsize)
                return (EINVAL);
 
        if (error = bread (imp->im_devvp,
                return (EINVAL);
 
        if (error = bread (imp->im_devvp,
@@ -532,7 +534,7 @@ isofs_fhtovp(mp, fhp, vpp)
        dirp = (struct iso_directory_record *)
                                 (bp->b_un.b_addr + ifhp->ifid_offset);
 
        dirp = (struct iso_directory_record *)
                                 (bp->b_un.b_addr + ifhp->ifid_offset);
 
-       if (ifhp->ifid_offset + isonum_711 (dirp->length) >= imp->im_bsize) {
+       if (ifhp->ifid_offset + isonum_711 (dirp->length) > imp->im_bsize) {
                brelse (bp);
                return (EINVAL);
        }
                brelse (bp);
                return (EINVAL);
        }