diff options
| author | Samuel Thibault <sthibault@debian.org> | 2009-10-10 20:08:43 +0000 |
|---|---|---|
| committer | Samuel Thibault <sthibault@debian.org> | 2009-10-10 20:08:43 +0000 |
| commit | d03fb78e688e222f06f01ae4c096ca7067500fec (patch) | |
| tree | 8cb94491fd44681455f50ef6ea81464dc135856c /debian/patches | |
| parent | 754544516b632d2f0467b74c451b7c4a29584e14 (diff) | |
debian/patches/libdiskfs-rename.patch: New patch to fix ext2fs hang on
renaming directory to something/.
Diffstat (limited to 'debian/patches')
| -rw-r--r-- | debian/patches/libdiskfs-rename.patch | 23 | ||||
| -rw-r--r-- | debian/patches/series | 1 |
2 files changed, 24 insertions, 0 deletions
diff --git a/debian/patches/libdiskfs-rename.patch b/debian/patches/libdiskfs-rename.patch new file mode 100644 index 00000000..e530a6c7 --- /dev/null +++ b/debian/patches/libdiskfs-rename.patch @@ -0,0 +1,23 @@ +diff --git a/libdiskfs/dir-rename.c b/libdiskfs/dir-rename.c +index 747c666..d0e5b60 100644 +--- a/libdiskfs/dir-rename.c ++++ b/libdiskfs/dir-rename.c +@@ -19,6 +19,7 @@ + + #include "priv.h" + #include "fs_S.h" ++#include <string.h> + + /* To avoid races in checkpath, and to prevent a directory from being + simultaneously renamed by two processes, we serialize all renames of +@@ -44,6 +45,10 @@ diskfs_S_dir_rename (struct protid *fromcred, + if (! tocred) + return EXDEV; + ++ if (!strcmp (fromname, ".") || !strcmp (fromname, "..") ++ || !strcmp (toname, ".") || !strcmp (toname, "..") ++ return EINVAL; ++ + if (tocred->po->shadow_root != fromcred->po->shadow_root) + /* Same translator, but in different shadow trees. */ + return EXDEV; diff --git a/debian/patches/series b/debian/patches/series index f769f1c1..14070207 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -28,3 +28,4 @@ exec_fix.patch -p0 libpthread_recursive_mutex_initializer.patch -p0 pfinet-gcc-4.3-fix.patch -p1 MAKEDEV.patch -p1 +libdiskfs-rename.patch -p1 |
