From bc9bbeb2b81001e8731cd2ae501c8fccc8d87cc7 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Thu, 10 Aug 2017 11:52:42 +0200 Subject: libarchive: do not extract unsafe symlinks unless $EXTRACT_UNSAFE_SYMLINKS=1 function old new delta unsafe_symlink_target - 147 +147 unzip_main 2711 2732 +21 copy_file 1657 1678 +21 tar_main 999 971 -28 data_extract_all 1038 984 -54 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 2/2 up/down: 189/-82) Total: 107 bytes Signed-off-by: Denys Vlasenko --- libbb/copy_file.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libbb/copy_file.c') diff --git a/libbb/copy_file.c b/libbb/copy_file.c index 23c0f8320..be9006631 100644 --- a/libbb/copy_file.c +++ b/libbb/copy_file.c @@ -371,7 +371,10 @@ int FAST_FUNC copy_file(const char *source, const char *dest, int flags) int r = symlink(lpath, dest); free(lpath); if (r < 0) { - bb_perror_msg("can't create symlink '%s'", dest); + /* shared message */ + bb_perror_msg("can't create %slink '%s' to '%s'", + "sym", dest, lpath + ); return -1; } if (flags & FILEUTILS_PRESERVE_STATUS) -- cgit v1.2.3