- tip.i_dev = VFSTOUFS(mp)->um_dev;
- tip.i_vnode.v_mount = mp;
- if (error = iget(&tip, ufhp->ufid_ino, &ip)) {
- *vpp = NULL;
+ fs = VFSTOUFS(mp)->um_fs;
+ if (ufhp->ufid_ino < ROOTINO ||
+ ufhp->ufid_ino >= fs->fs_ncg * fs->fs_ipg) {
+ *vpp = (struct vnode *)0;
+ return (EINVAL);
+ }
+ tvp.v_mount = mp;
+ ip = VTOI(&tvp);
+ ip->i_vnode = &tvp;
+ ip->i_dev = VFSTOUFS(mp)->um_dev;
+ if (error = iget(ip, ufhp->ufid_ino, &nip)) {
+ *vpp = (struct vnode *)0;