summaryrefslogtreecommitdiffstats
path: root/sys/fs/smbfs
diff options
context:
space:
mode:
authordavide <davide@FreeBSD.org>2013-06-28 20:07:24 +0000
committerdavide <davide@FreeBSD.org>2013-06-28 20:07:24 +0000
commitcf63c799c6a9b82e8c05f3cef17d1df483653c13 (patch)
tree99882cfffcbe757c7b5787e93dbbaa48199afb4e /sys/fs/smbfs
parent19b2af52622e036204809e1bbe24aaaedf35061a (diff)
downloadFreeBSD-src-cf63c799c6a9b82e8c05f3cef17d1df483653c13.zip
FreeBSD-src-cf63c799c6a9b82e8c05f3cef17d1df483653c13.tar.gz
Plug a couple of leakages in smbfs_lookup().
Diffstat (limited to 'sys/fs/smbfs')
-rw-r--r--sys/fs/smbfs/smbfs_vnops.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/fs/smbfs/smbfs_vnops.c b/sys/fs/smbfs/smbfs_vnops.c
index 6ceed9c..ef1dc65 100644
--- a/sys/fs/smbfs/smbfs_vnops.c
+++ b/sys/fs/smbfs/smbfs_vnops.c
@@ -1282,11 +1282,14 @@ smbfs_lookup(ap)
error = vfs_busy(mp, 0);
vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY);
vfs_rel(mp);
- if (error)
- return (ENOENT);
+ if (error) {
+ error = ENOENT;
+ goto out;
+ }
if ((dvp->v_iflag & VI_DOOMED) != 0) {
vfs_unbusy(mp);
- return (ENOENT);
+ error = ENOENT;
+ goto out;
}
}
VOP_UNLOCK(dvp, 0);
OpenPOWER on IntegriCloud