From e840329de670757720cec729556b9b1f7d655ab5 Mon Sep 17 00:00:00 2001 From: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Tue, 19 May 2015 18:12:20 +0200 Subject: libdiskfs: fix renaming of directories Previously, file permissions and ownership of the target directory were ignored when renaming a directory: % mkdir a b % chmod 555 a % mv b a % ls a b * libdiskfs/dir-renamed.c (diskfs_rename_dir): Fix error handling. --- libdiskfs/dir-renamed.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libdiskfs/dir-renamed.c') diff --git a/libdiskfs/dir-renamed.c b/libdiskfs/dir-renamed.c index 9e37e234..a4878f3d 100644 --- a/libdiskfs/dir-renamed.c +++ b/libdiskfs/dir-renamed.c @@ -94,6 +94,8 @@ diskfs_rename_dir (struct node *fdp, struct node *fnp, const char *fromname, ds = buf; err = diskfs_lookup (tdp, toname, RENAME, &tnp, ds, tocred); assert (err != EAGAIN); /* <-> assert (TONAME != "..") */ + if (err && err != ENOENT) + goto out; if (tnp == fnp) { -- cgit v1.2.3