diff options
author | Denys Vlasenko | 2011-03-01 17:21:07 +0100 |
---|---|---|
committer | Denys Vlasenko | 2011-03-01 17:21:07 +0100 |
commit | 5e29e263888284b2451debd9e5cb138b48fd293a (patch) | |
tree | 9971260e354b6385f53bfe57408bf4bff184a78f /testsuite | |
parent | 7d65abea092e917bc2320cbf1d5a2dccb2a8288f (diff) | |
download | busybox-5e29e263888284b2451debd9e5cb138b48fd293a.zip busybox-5e29e263888284b2451debd9e5cb138b48fd293a.tar.gz |
tar: on extract, everything up to and including last ".." is stripped
function old new delta
get_header_tar 1493 1545 +52
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'testsuite')
-rwxr-xr-x | testsuite/tar.tests | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/testsuite/tar.tests b/testsuite/tar.tests index 472064f..d41d10d 100755 --- a/testsuite/tar.tests +++ b/testsuite/tar.tests @@ -168,6 +168,23 @@ Ok " \ "" "" +# On extract, everything up to and including last ".." component is stripped +testing "tar strips /../ on extract" "\ +rm -rf input_* test.tar 2>/dev/null +mkdir input_dir +echo Ok >input_dir/file +tar cf test.tar ./../tar.tempdir/input_dir/../input_dir 2>&1 +rm -rf input_* 2>/dev/null +tar -vxf test.tar 2>&1 +cat input_dir/file 2>&1 +" "\ +tar: removing leading './../tar.tempdir/input_dir/../' +input_dir/ +input_dir/file +Ok +" \ +"" "" + cd .. && rm -rf tar.tempdir || exit 1 |