aboutsummaryrefslogtreecommitdiff
path: root/archival/libarchive (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* 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>
* xz: remove an empty line from xz_dec_lzma2.cLasse Collin2013-02-271-1/+0
| | | | | Signed-off-by: Lasse Collin <lasse.collin@tukaani.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* xz: make bcj_x86_test_msbyte() an inline functionLasse Collin2013-02-271-2/+5
| | | | | Signed-off-by: Lasse Collin <lasse.collin@tukaani.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* xz: add a comment about using uint32_t as vli_typeLasse Collin2013-02-271-2/+7
| | | | | Signed-off-by: Lasse Collin <lasse.collin@tukaani.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* xz: avoid "NOTE:" in xz.hLasse Collin2013-02-271-4/+4
| | | | | Signed-off-by: Lasse Collin <lasse.collin@tukaani.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* xz: update READMELasse Collin2013-02-271-2/+2
| | | | | Signed-off-by: Lasse Collin <lasse.collin@tukaani.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* xz: omit explicit \0 from HEADER_MAGICLasse Collin2013-02-271-1/+1
| | | | | Signed-off-by: Lasse Collin <lasse.collin@tukaani.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* rpm: use "create+rename" method of replacing existing filesDenys Vlasenko2013-02-201-1/+14
| | | | | | | | Users were reporting getting errors like "ls: error while loading shared libraries: libc.so.6: ELF load command past end of file" while rpm was unpacking glibc tarball. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* whitespace cleanup. no code changesDenys Vlasenko2013-01-145-12/+12
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* decompress_uncompress: comment out a bigger chunk of debug codeDenys Vlasenko2012-12-051-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* decompress_uncompress: comment out debug printout on corrupted dataDenys Vlasenko2012-12-051-1/+2
| | | | | | | | | | 99% plus of all people who'll get corrupted archive wouldn't bother debugging it. The rest can uncomment the code. function old new delta unpack_Z_stream 1304 1234 -70 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* decompress_uncompress: move 'code' variable into loop - sole userDenys Vlasenko2012-12-051-13/+14
| | | | | | Apparently, gcc does this optimization itself, since generated code is the same. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* dpkg: fix creation of .list files (were empty since b768aeb). Closes 5324Denys Vlasenko2012-06-221-2/+4
| | | | | | | | | | | | | While at it, fix filename order and free the list of names. function old new delta llist_rev - 21 +21 get_header_tar 1733 1741 +8 unpack_package 587 585 -2 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/1 up/down: 29/-2) Total: 27 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* trivial small speed optimizationDenys Vlasenko2012-06-221-3/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: fix 256-bit encoded number decodingEtienne Le Sueur2012-06-091-1/+1
| | | | | Signed-off-by: Etienne Le Sueur <elesueur@vmware.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* build system: fix build failure when only gunzip is selectedAnthony G. Basile2012-05-201-1/+1
| | | | | Signed-off-by: Anthony G. Basile <blueness@gentoo.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fix build failure when compressed help is selected, but bz2 compression is notDenys Vlasenko2012-04-291-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Fix another build failure found with randconfigDenys Vlasenko2012-04-201-0/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fix build breakage found by randconfigDenys Vlasenko2012-04-201-0/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fix trivial bug in unpack_gz_stream (wrong fd used in read)Denys Vlasenko2012-03-061-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Don't compile get_header_tar_FOO function if they are not neededDenys Vlasenko2012-03-061-5/+8
| | | | | | | Now get_header_tar_gz, get_header_tar_bz2, get_header_tar_lzma are only used if dpkg is built. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar,rpm2cpio: check that child decompressor did not error outDenys Vlasenko2012-03-061-0/+26
| | | | | | | | | | | | | function old new delta check_errors_in_children - 57 +57 tar_main 833 848 +15 get_header_tar 1720 1733 +13 rpm2cpio_main 147 140 -7 handle_SIGCHLD 41 - -41 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 2/1 up/down: 85/-48) Total: 37 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Move seamless .Z support into unpack_gz_streamDenys Vlasenko2012-03-061-0/+18
| | | | | | | unpack_gz_stream 566 643 +77 unpack_gunzip 123 12 -111 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* update seamless uncompression codeDenys Vlasenko2012-03-0610-138/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change makes "tar tf hello_world.txz" work without adding special-casing for ".txz" extension. It also removes ever-growing magic checking code in rpm2cpio and get_header_tar - we reuse one which lives in setup_unzip_on_fd. function old new delta unpack_gz_stream 7 566 +559 check_signature16 - 70 +70 setup_unzip_on_fd 99 142 +43 handle_SIGCHLD - 41 +41 unpack_bz2_stream 342 376 +34 unzip_main 2352 2385 +33 bbunpack 503 533 +30 open_transformer 74 102 +28 unpack_Z_stream 1278 1304 +26 unpack_gunzip 101 123 +22 init_transformer_aux_data - 18 +18 unpack_xz_stream 2388 2402 +14 open_zipped 131 141 +10 rpm_main 1358 1363 +5 get_header_tar_lzma 52 57 +5 get_header_tar_bz2 52 57 +5 unpack_lzma_stream 2698 2702 +4 hash_find 234 233 -1 get_header_tar 1759 1733 -26 get_header_tar_gz 92 57 -35 unpack_uncompress 51 12 -39 rpm2cpio_main 201 147 -54 unpack_unxz 67 12 -55 unpack_bz2_stream_prime 55 - -55 get_header_tar_Z 86 - -86 unpack_gz_stream_with_info 539 - -539 ------------------------------------------------------------------------------ (add/remove: 3/3 grow/shrink: 14/6 up/down: 947/-890) Total: 57 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* archival/libarchive/decompress_unzip.c -> decompress_gunzip.c. no code changesDenys Vlasenko2012-03-062-5/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* preparatory cleanups for seamless uncompression improvementsDenys Vlasenko2012-03-063-17/+161
| | | | | | | | | | | | unpack_gz_stream_with_info: fix buggy error check man: fix possible accesses past the end of a string move seamless uncompression helpers from read_printf.c to open_transformer.c function old new delta show_manpage 153 212 +59 unpack_gz_stream_with_info 520 539 +19 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: add support for PAX-encoded path=LONGFILENAMEDenys Vlasenko2012-02-233-40/+41
| | | | | | | function old new delta get_header_tar 1478 1759 +281 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* bzcat: fix unpacking of more than one file, and unpacking of zero-size bz2. ↵Denys Vlasenko2011-10-311-1/+8
| | | | | | Closes 4393 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>