diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2007-11-16 04:53:36 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2007-11-16 04:53:36 +0000 |
commit | e4632a52dda7d13205b008567c4fee879dc80055 (patch) | |
tree | c7935402b397e803a054341b7271e11ac26d0a52 /libdiskfs/dir-rename.c | |
parent | 696a7d9c2343c7e88cee73b6c517c3f6f2158ab1 (diff) | |
download | hurd-e4632a52dda7d13205b008567c4fee879dc80055.tar.gz hurd-e4632a52dda7d13205b008567c4fee879dc80055.tar.bz2 hurd-e4632a52dda7d13205b008567c4fee879dc80055.zip |
2007-11-15 Samuel Thibault <samuel.thibault@ens-lyon.org>
* dir-rename.c (diskfs_S_dir_rename): Call diskfs_nput (tnp) in
the EISDIR and EMLINK cases too. Reported by Olaf Buddenhagen
<olafbuddenhagen@gmx.net>.
Diffstat (limited to 'libdiskfs/dir-rename.c')
-rw-r--r-- | libdiskfs/dir-rename.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libdiskfs/dir-rename.c b/libdiskfs/dir-rename.c index 6fc7e0f5..0bda7b91 100644 --- a/libdiskfs/dir-rename.c +++ b/libdiskfs/dir-rename.c @@ -138,6 +138,7 @@ diskfs_S_dir_rename (struct protid *fromcred, { diskfs_drop_dirstat (tdp, ds); diskfs_nrele (fnp); + diskfs_nput (tnp); mutex_unlock (&tdp->lock); return EISDIR; } @@ -149,6 +150,8 @@ diskfs_S_dir_rename (struct protid *fromcred, { diskfs_drop_dirstat (tdp, ds); diskfs_nput (fnp); + if (tnp) + diskfs_nput (tnp); mutex_unlock (&tdp->lock); return EMLINK; } |