diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2011-07-25 13:36:16 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2011-07-25 14:04:51 -0700 |
commit | e772bddde8295fe0fdaef05b3c4c5e967116c805 (patch) | |
tree | ac24ab8d09068a29a9e1e96556b1254013aff8ea /src/copy.c | |
parent | f28a09810b7dc11261cb43e2a09726caf9a993b7 (diff) | |
download | coreutils-e772bddde8295fe0fdaef05b3c4c5e967116c805.tar.xz |
cp: don't mishandle existing dir dest permissions (Bug#9170)
* src/copy.c (copy_internal): If we don't create the directory,
then we cannot have omitted permissions. Problem and trivial
fix reported by Eric Lammerts.
* tests/Makefile.am (TESTS): Add cp/existing-perm-dir.
* tests/cp/existing-perm-dir: New file.
Diffstat (limited to 'src/copy.c')
-rw-r--r-- | src/copy.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/copy.c b/src/copy.c index df8b1db74..b2aeb6ece 100644 --- a/src/copy.c +++ b/src/copy.c @@ -2211,6 +2211,8 @@ copy_internal (char const *src_name, char const *dst_name, if (x->verbose) emit_verbose (src_name, dst_name, NULL); } + else + omitted_permissions = 0; /* Decide whether to copy the contents of the directory. */ if (x->one_file_system && device != 0 && device != src_sb.st_dev) |