diff options
Diffstat (limited to 'debian/patches/fix-rename0001-libdiskfs-fix-renaming-of-directories.patch')
| -rw-r--r-- | debian/patches/fix-rename0001-libdiskfs-fix-renaming-of-directories.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/debian/patches/fix-rename0001-libdiskfs-fix-renaming-of-directories.patch b/debian/patches/fix-rename0001-libdiskfs-fix-renaming-of-directories.patch new file mode 100644 index 00000000..03fa6216 --- /dev/null +++ b/debian/patches/fix-rename0001-libdiskfs-fix-renaming-of-directories.patch @@ -0,0 +1,35 @@ +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: [PATCH hurd 1/2] 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(+) + +diff --git a/libdiskfs/dir-renamed.c b/libdiskfs/dir-renamed.c +index 9e37e23..a4878f3 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) + { +-- +2.1.4 + |
