diff options
author | davide <davide@FreeBSD.org> | 2013-06-28 20:07:24 +0000 |
---|---|---|
committer | davide <davide@FreeBSD.org> | 2013-06-28 20:07:24 +0000 |
commit | cf63c799c6a9b82e8c05f3cef17d1df483653c13 (patch) | |
tree | 99882cfffcbe757c7b5787e93dbbaa48199afb4e | |
parent | 19b2af52622e036204809e1bbe24aaaedf35061a (diff) | |
download | FreeBSD-src-cf63c799c6a9b82e8c05f3cef17d1df483653c13.zip FreeBSD-src-cf63c799c6a9b82e8c05f3cef17d1df483653c13.tar.gz |
Plug a couple of leakages in smbfs_lookup().
-rw-r--r-- | sys/fs/smbfs/smbfs_vnops.c | 9 |
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); |