diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-08-10 11:52:42 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-08-10 11:52:42 +0200 |
| commit | bc9bbeb2b81001e8731cd2ae501c8fccc8d87cc7 (patch) | |
| tree | 72672bb0c187b93f1fba99012cf0c4e716214298 /libbb | |
| parent | 0cf64c8b5d86d603903397bfce87dea5a862caec (diff) | |
| download | busybox-w32-bc9bbeb2b81001e8731cd2ae501c8fccc8d87cc7.tar.gz busybox-w32-bc9bbeb2b81001e8731cd2ae501c8fccc8d87cc7.tar.bz2 busybox-w32-bc9bbeb2b81001e8731cd2ae501c8fccc8d87cc7.zip | |
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 <vda.linux@googlemail.com>
Diffstat (limited to 'libbb')
| -rw-r--r-- | libbb/copy_file.c | 5 |
1 files changed, 4 insertions, 1 deletions
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) | |||
| 371 | int r = symlink(lpath, dest); | 371 | int r = symlink(lpath, dest); |
| 372 | free(lpath); | 372 | free(lpath); |
| 373 | if (r < 0) { | 373 | if (r < 0) { |
| 374 | bb_perror_msg("can't create symlink '%s'", dest); | 374 | /* shared message */ |
| 375 | bb_perror_msg("can't create %slink '%s' to '%s'", | ||
| 376 | "sym", dest, lpath | ||
| 377 | ); | ||
| 375 | return -1; | 378 | return -1; |
| 376 | } | 379 | } |
| 377 | if (flags & FILEUTILS_PRESERVE_STATUS) | 380 | if (flags & FILEUTILS_PRESERVE_STATUS) |
