From 2bdc48121916ab0d7bb7d0cb5cee25549c3705c9 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Fri, 16 Nov 2007 09:31:15 +0100 Subject: cp: by default, refuse to copy through a dangling destination symlink * NEWS: Mention this change. * doc/coreutils.texi (cp invocation): Describe the new behavior. * src/copy.c: No longer include "canonicalize.h". (copy_reg): Upon failure to open a dangling destination symlink, don't canonicalize the name, but rather fail (default) or, with POSIXLY_CORRECT, repeat the open call without O_EXCL (potentially dangerous). * src/copy.h (struct cp_options) [open_dangling_dest_symlink]: New member. Reorder the others, grouping "bool" and "enum" members together. * tests/cp/thru-dangling: Test for changed and new behavior. * src/cp.c (cp_option_init): Initialize new member. * src/install.c (cp_option_init): Likewise. * src/mv.c (cp_option_init): Likewise. Signed-off-by: Jim Meyering --- src/mv.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/mv.c') diff --git a/src/mv.c b/src/mv.c index 8b70d0048..3b1ba8e9e 100644 --- a/src/mv.c +++ b/src/mv.c @@ -146,6 +146,7 @@ cp_option_init (struct cp_options *x) x->mode = 0; x->stdin_tty = isatty (STDIN_FILENO); + x->open_dangling_dest_symlink = false; x->update = false; x->verbose = false; x->dest_info = NULL; -- cgit v1.2.3-54-g00ecf