]> git.ipfire.org Git - thirdparty/coreutils.git/commit
copy: check for vulnerable target dirs
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 19 Sep 2017 01:54:52 +0000 (18:54 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 19 Sep 2017 07:14:30 +0000 (00:14 -0700)
commit44ccd1c4657703b15971b0670b9716a25244a358
tree23c4c4b5a730d00305672234a3e9e999a48f1c13
parent97c5045435f15c2bc984cc05bbfdca897bbdd284
copy: check for vulnerable target dirs

* NEWS, doc/coreutils.texi (Target directory): Document this.
* src/cp.c, src/install.c, src/ln.c, src/mv.c: Include targetdir.h.
(target_directory_operand): Use the new targetdir_operand_type
function to check for vulnerable target directories.
* src/cp.c (stat_target_operand): New function.
(target_directory_operand, do_copy): Use it.
* src/local.mk (noinst_HEADERS): Add src/targetdir.h.
(src_ginstall_SOURCES, src_cp_SOURCES, src_ln_SOURCES)
(src_mv_SOURCES): Add src/targetdir.c.
* src/targetdir.c, src/targetdir.h: New files.
* tests/mv/vulnerable-target.sh: New test.
* tests/local.mk (all_root_tests): Add it.
NEWS
doc/coreutils.texi
src/cp.c
src/install.c
src/ln.c
src/local.mk
src/mv.c
src/targetdir.c [new file with mode: 0644]
src/targetdir.h [new file with mode: 0644]
tests/local.mk
tests/mv/vulnerable-target.sh [new file with mode: 0755]