aboutsummaryrefslogtreecommitdiff
path: root/archival/libarchive (follow)
Commit message (Collapse)AuthorAgeFilesLines
* libarchive: fix xmalloc_open_zipped_read_close()Denys Vlasenko2016-06-211-0/+3
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* typo fixDenys Vlasenko2016-06-201-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libarchive: fix open_zipped()Denys Vlasenko2016-06-201-7/+12
| | | | | | Last commit broke it (on both MMU and NOMMU) Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libarchive: fix xmalloc_open_zipped_read_close() on NOMMUDenys Vlasenko2016-06-203-23/+18
| | | | | | | | | The somewhat new "unpack in memory" code was broken for xmalloc_open_zipped_read_close() on NOMMU: we seek back over signature, but then expect it to be already consumed. Stop seeking back in this case. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* randomconfig fixesDenys Vlasenko2016-06-191-7/+16
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* *: slap on a few ALIGN1/2s where appropriateDenys Vlasenko2016-04-221-1/+1
| | | | | | | | | | The result of looking at "grep -F -B2 '*fill*' busybox_unstripped.map" text data bss dec hex filename 829901 4086 1904 835891 cc133 busybox_before 829665 4086 1904 835655 cc047 busybox Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libbb: two new functions: wait_for_exitstatus(pid), xfchdir(fd)Denys Vlasenko2016-04-011-2/+1
| | | | | | Bartosz Golaszewski proposed xfchdir() Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* [g]unzip: fix recent breakage.Denys Vlasenko2015-10-301-12/+21
| | | | | | Also, do emit error message we so painstakingly pass from gzip internals Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* unzip: test for bad archive SEGVingDenys Vlasenko2015-10-261-4/+7
| | | | | | | function old new delta huft_build 1296 1300 +4 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: fix files skipped with --strip_components not resetting selinux contextDenys Vlasenko2015-10-221-3/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: shrink hardlink name handling codeDenys Vlasenko2015-10-221-26/+17
| | | | | | | function old new delta data_extract_all 1069 1040 -29 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: add support for --strip-components=NDenys Vlasenko2015-10-222-32/+77
| | | | | | | | | | | function old new delta data_extract_all 882 995 +113 tar_longopts 290 309 +19 tar_main 938 942 +4 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/0 up/down: 136/0) Total: 136 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cpio: implement -R/--ownerAaro Koskinen2015-10-163-2/+16
| | | | | | | | | | | | | | | | | | Implement -R/--owner to force ownership of files. function old new delta cpio_main 532 586 +54 get_header_cpio 909 939 +30 print 36 65 +29 cpio_o 804 832 +28 cpio_TRAILER - 11 +11 packed_usage 30667 30662 -5 static.trailer 11 - -11 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 4/1 up/down: 152/-16) Total: 136 bytes Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* *: more BUILD_BUG_ON conversionsDenys Vlasenko2015-10-131-3/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* join some common strings, -400 bytesDenys Vlasenko2015-10-081-1/+1
| | | | | | | | | | | | | | | function old new delta print_intel_cstates 499 511 +12 file_insert 355 364 +9 dpkg_main 2944 2940 -4 ifenslave_main 645 640 -5 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/2 up/down: 21/-9) Total: 12 bytes text data bss dec hex filename 937564 932 17676 956172 e970c busybox_old 937164 932 17676 955772 e957c busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Removes stray empty line from codeManinder Singh2015-07-135-8/+0
| | | | | | | | | This patch removes stray empty line from busybox code reported by script find_stray_empty_lines Signed-off-by: Maninder Singh <maninder1.s@samsung.com> Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: do not try to decode GNU extended headers as pax headersDenys Vlasenko2015-05-111-11/+17
| | | | | | | function old new delta get_header_tar 1736 1692 -44 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libarchive: auto-detect .Z files as wellThiago Jung Bauermann2015-05-031-0/+7
| | | | | Signed-off-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libbb: introduce and use is_prefixed_with()Denys Vlasenko2015-03-124-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta is_prefixed_with - 18 +18 complete_username 78 77 -1 man_main 737 735 -2 fsck_device 429 427 -2 unpack_ar_archive 80 76 -4 strip_unsafe_prefix 105 101 -4 singlemount 1054 1050 -4 rtc_adjtime_is_utc 90 86 -4 resolve_mount_spec 88 84 -4 parse_one_line 1029 1025 -4 parse_conf 1460 1456 -4 may_wakeup 83 79 -4 loadkmap_main 219 215 -4 get_irqs_from_stat 103 99 -4 get_header_cpio 913 909 -4 findfs_main 79 75 -4 fbsplash_main 1230 1226 -4 load_crontab 776 771 -5 expand_vars_to_list 1151 1146 -5 date_main 881 876 -5 skip_dev_pfx 30 24 -6 make_device 2199 2193 -6 complete_cmd_dir_file 773 767 -6 run_applet_and_exit 715 708 -7 uudecode_main 321 313 -8 pwdx_main 197 189 -8 execute 568 560 -8 i2cdetect_main 1186 1176 -10 procps_scan 1242 1230 -12 procps_read_smaps 1017 1005 -12 process_module 746 734 -12 patch_main 1903 1891 -12 nfsmount 3572 3560 -12 stack_machine 126 112 -14 process_timer_stats 449 435 -14 match_fstype 111 97 -14 do_ipaddr 1344 1330 -14 open_list_and_close 359 343 -16 get_header_tar 1795 1779 -16 prepend_new_eth_table 340 323 -17 fsck_main 1811 1794 -17 find_iface_state 56 38 -18 dnsd_main 1321 1303 -18 base_device 179 158 -21 find_keyword 104 82 -22 handle_incoming_and_exit 2785 2762 -23 parse_and_put_prompt 774 746 -28 modinfo 347 317 -30 find_action 204 171 -33 update_passwd 1470 1436 -34 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/49 up/down: 18/-540) Total: -522 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* unzip: prevent attacks via malicious filenamesDenys Vlasenko2015-02-103-32/+39
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* dpkg: update supported compression methodsDenys Vlasenko2015-01-303-0/+32
| | | | | | | | | | | | | | Based on a patch by Ron Yorston <rmy@tigress.co.uk> function old new delta get_header_tar_xz - 60 +60 filter_accept_list_reassign 128 188 +60 unpack_package 585 621 +36 init_archive_deb_control 52 76 +24 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 3/0 up/down: 180/0) Total: 180 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* make xmalloc_open_zipped_read_close result NUL terminatedDenys Vlasenko2014-12-071-1/+2
| | | | | | Compat with xmalloc_open_read_close Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libarchive: add capability to unpack to mem.bufferDenys Vlasenko2014-12-079-77/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The performance and number of processes for a "depmod -a" with gzipped modules was abysmal. This patch adds a code path without fork, benefiting all users of xmalloc_open_zipped_read_close. "modinfo radeon.ko.gz", a single-file reader, got 30% faster. "depmod -a", which used to fork over 800 times, got 20% faster. Heavily based on a patch by Lauri Kasanen <curaga@operamail.com> function old new delta setup_transformer_on_fd - 159 +159 transformer_write - 122 +122 fork_transformer - 112 +112 xmalloc_open_zipped_read_close 63 118 +55 read_bunzip 1866 1896 +30 xtransformer_write - 19 +19 unzip_main 2449 2462 +13 bbunpack 755 766 +11 unpack_lzma_stream 2717 2723 +6 unpack_xz_stream 2393 2397 +4 unpack_Z_stream 1173 1175 +2 inflate_unzip 111 105 -6 check_signature16 70 63 -7 unpack_bz2_stream 359 349 -10 unpack_unxz 12 - -12 unpack_unlzma 12 - -12 unpack_uncompress 12 - -12 unpack_gunzip 12 - -12 unpack_bunzip2 12 - -12 open_transformer 106 92 -14 inflate_unzip_internal 1945 1916 -29 unpack_gz_stream 693 655 -38 open_zipped 89 47 -42 setup_unzip_on_fd 142 53 -89 ------------------------------------------------------------------------------ (add/remove: 4/5 grow/shrink: 7/8 up/down: 533/-295) Total: 238 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Rename transformer_aux_data_t -> transformer_state_tDenys Vlasenko2014-12-076-31/+31
| | | | | | No code changes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* lzop: add overflow checkDenys Vlasenko2014-06-302-0/+5
| | | | | | | | | | See CVE-2014-4607 http://www.openwall.com/lists/oss-security/2014/06/26/20 function old new delta lzo1x_decompress_safe 1010 1031 +21 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* unlzma: add comments about possible bug from BZ 2689Denys Vlasenko2014-02-281-0/+6
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* unlzma: move some variables in "more local" scopeDenys Vlasenko2014-02-281-7/+10
| | | | | | No code changes as verified by objdump Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* zcat: complain if input is not compressedDenys Vlasenko2014-02-022-15/+6
| | | | | | | | | | | | | | | | | | function old new delta buffer_fill_and_print 178 191 +13 varvalue 735 743 +8 bbunpack 747 755 +8 open_zipped 85 89 +4 xmalloc_open_zipped_read_close 61 63 +2 get_addr_1 240 242 +2 fbsplash_main 1228 1230 +2 pstree_main 322 321 -1 builtin_type 121 119 -2 do_load 954 926 -28 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 7/3 up/down: 39/-31) Total: 8 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libbb: open_zipped() should not fail on non-compressed filesDenys Vlasenko2014-01-271-1/+10
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: tighten up pax header validity checkDenys Vlasenko2014-01-101-1/+3
| | | | | | | function old new delta get_header_tar 1785 1795 +10 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libarchive: open_zipped() does not need to check extensions for e.g. gzipDenys Vlasenko2014-01-101-12/+11
| | | | | | | | | We only need to check for signature-less extensions, currently only .lzma. The rest can be happily autodetected. This fixes "zcat FILE_WITHOUT_GZ_EXT" case, among others. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fix assorted unused code and wrong format specs found by cppchekc (bug 6716)Denys Vlasenko2013-11-294-6/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: fix exitcode check for MMU-spawned unpacking helpersDenys Vlasenko2013-11-192-9/+10
| | | | | | | | | | Testcase: tar xvzf EMPTY_FILE function old new delta open_transformer 102 106 +4 get_header_tar 1781 1785 +4 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Fix some compiler warnings emitted by gcc-4.8.0Denys Vlasenko2013-10-162-7/+7
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* bunzip2: fix off-by-one checkDenys Vlasenko2013-10-061-8/+18
| | | | | | | | | | | stage3-armv7a_hardfp-20130209.tar.bz2, 149189948 bytes long, md5sum b29ce23312e14eb15a143377d4a38473, was failing to unpack. It so happened that this file has a run which exactly fills the 90k buffer. The check was "size >= bufsize", apparently it has to be ">". Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ar: better commentDenys Vlasenko2013-09-101-2/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ar: read_num(): fix reading fields using the entire widthPeter Korsgaard2013-09-101-12/+20
| | | | | | | | | | | | | | | | | | | | ar fields are fixed length text strings (padded with spaces). Ensure bb_strtou doesn't read past the field in case the full width is used. The fields are only read once, so the simplest/smallest solution to me seems to be to just pass the length to read_num() and then zero terminate the string before passing it to bb_strtou. This does mean that the fields MUST be read in reverse order, so some minor reshuffling was needed. Bloat-o-meter: function old new delta get_header_ar 394 414 +20 read_num 29 36 +7 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 27/0) Total: 27 bytes Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* *: change execl sentinels from NULL to (char*)0Rich Felker2013-06-301-1/+1
| | | | | Signed-off-by: Rich Felker <dalias@aerifal.cx> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Fix build failures caused by not compiling open_transformer.c (#2)Denys Vlasenko2013-05-151-0/+3
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Fix build failures caused by not compiling open_transformer.cDenys Vlasenko2013-05-121-12/+23
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* decompress_unlzma: move function, no code changesDenys Vlasenko2013-03-011-7/+6
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* decompress_unlzma: 10% speedup in "small" codeDenys Vlasenko2013-03-011-1/+1
| | | | | | | | text data bss dec hex filename 1796 0 0 1796 704 decompress_unlzma.o 1801 0 0 1801 709 decompress_unlzma.o Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* decompress_unlzma: make "fast" version a bit smallerDenys Vlasenko2013-03-011-10/+4
| | | | | | | | | | It is not slower. In fact it seems a tiny bit faster too. text data bss dec hex filename 2827 0 0 2827 b0b decompress_unlzma.o 2797 0 0 2797 aed decompress_unlzma.o Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* code shrink in check_errors_in_children()Denys Vlasenko2013-02-281-3/+8
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* xz: fix put_unaligned_{l,b}e32Leonid Lisovskiy2013-02-271-2/+2
| | | | | Signed-off-by: Leonid Lisovskiy <lly.dev@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* xz: support concatenated .xz streamsLasse Collin2013-02-271-7/+36
| | | | | | | | | function old new delta xz_dec_reset - 77 +77 unpack_xz_stream 2402 2397 -5 Signed-off-by: Lasse Collin <lasse.collin@tukaani.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* xz: mention xzminidec.c in READMELasse Collin2013-02-271-1/+1
| | | | | Signed-off-by: Lasse Collin <lasse.collin@tukaani.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* xz: fix incorrect XZ_BUF_ERRORLasse Collin2013-02-271-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | xz_dec_run() could incorrectly return XZ_BUF_ERROR if all of the following was true: - The caller knows how many bytes of output to expect and only provides that much output space. - When the last output bytes are decoded, the caller-provided input buffer ends right before the LZMA2 end of payload marker. So LZMA2 won't provide more output anymore, but it won't know it yet and thus won't return XZ_STREAM_END yet. - A BCJ filter is in use and it hasn't left any unfiltered bytes in the temp buffer. This can happen with any BCJ filter, but in practice it's more likely with filters other than the x86 BCJ. This fixes <https://bugzilla.redhat.com/show_bug.cgi?id=735408> where Squashfs thinks that a valid file system is corrupt. Thanks to Jindrich Novy for telling me that such a bug report exists, Phillip Lougher for providing excellent debug info, and other people on #fedora-ppc. This also fixes a similar bug in single-call mode where the uncompressed size of a XZ Block using BCJ + LZMA2 was 0 bytes and caller provided no output space. Many empty .xz files don't contain any Blocks and thus don't trigger this bug. This also tweaks a closely related detail: xz_dec_bcj_run() could call xz_dec_lzma2_run() to decode into temp buffer when it was known to be useless. This was harmless although it wasted a minuscule number of CPU cycles. Signed-off-by: Lasse Collin <lasse.collin@tukaani.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* xz: fix decoding of LZMA2 streams having no uncompressed data.Lasse Collin2013-02-271-3/+3
| | | | | | | | | | | | | No .xz encoder creates files with empty LZMA2 streams, but such files would still be valid and decompressors must accept them. Note that empty .xz files are a different thing than empty LZMA2 streams. This bug didn't affect typical .xz files that had no uncompressed data. Signed-off-by: Lasse Collin <lasse.collin@tukaani.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cz: add C++ support to xz.hLasse Collin2013-02-271-0/+9
| | | | | Signed-off-by: Lasse Collin <lasse.collin@tukaani.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>