]> git.ipfire.org Git - thirdparty/libarchive.git/log
thirdparty/libarchive.git
8 years agoFix signed/unsigned comparison warnings.
Kyrre Sjobak [Tue, 24 Jan 2017 15:04:08 +0000 (16:04 +0100)] 
Fix signed/unsigned comparison warnings.

8 years agoAvoid multiple #DEFINEs with the same name
Kyrre Sjobak [Tue, 24 Jan 2017 15:08:04 +0000 (16:08 +0100)] 
Avoid multiple #DEFINEs with the same name

8 years agoCMakelists.txt: disable new acl variables if acl is not requested
Martin Matuska [Tue, 24 Jan 2017 12:08:36 +0000 (13:08 +0100)] 
CMakelists.txt: disable new acl variables if acl is not requested

8 years agoMerge pull request #856 from DerDakon/cmake-man-install
Tim Kientzle [Sun, 22 Jan 2017 19:59:44 +0000 (11:59 -0800)] 
Merge pull request #856 from DerDakon/cmake-man-install

CMake: install all manpages

8 years agoFail with negative lha->compsize in lha_read_file_header_1()
Martin Matuska [Thu, 19 Jan 2017 21:00:18 +0000 (22:00 +0100)] 
Fail with negative lha->compsize in lha_read_file_header_1()
Fixes a heap buffer overflow reported in Secunia SA74169

8 years agoReplace archive_acl_count() with archive_acl_types() where possible
Martin Matuska [Wed, 18 Jan 2017 23:40:36 +0000 (00:40 +0100)] 
Replace archive_acl_count() with archive_acl_types() where possible
Report all types of ACLs in archive_entry_strmode()
Simplify archive_write_disk_set_acls()

8 years agoUse HAVE_ACL_TYPE_NFS4 instead of checking against system constant
Martin Matuska [Tue, 17 Jan 2017 14:04:43 +0000 (15:04 +0100)] 
Use HAVE_ACL_TYPE_NFS4 instead of checking against system constant
Verify ACL types in test_acl_platform_nfs4.c
Add missing inheritance flag to test_acl_platform_nfs4.c

8 years agoCMake: install all manpages 856/head
Rolf Eike Beer [Mon, 16 Jan 2017 10:44:28 +0000 (11:44 +0100)] 
CMake: install all manpages

This was fixed in commit d6ccad60de8f51615ae2abccf37c125b12402107 for automake,
but not for CMake.

8 years agoRework sun_acl_is_trivial() once again
Martin Matuska [Sun, 15 Jan 2017 22:51:46 +0000 (23:51 +0100)] 
Rework sun_acl_is_trivial() once again

Make the NFSv4 ACL part more readable
Declare constants as constants
ACE_DELETE_CHILD for write perms was introduced by illumos in
illumos/illumos-gate@d316fffc9c361532a482208561bbb614dac7f916
The best solution is to treat both types of write perms as trivial

8 years agoFix two tests on Solaris if compiling with -m64
Alexander Pyhalov [Sun, 15 Jan 2017 01:09:28 +0000 (02:09 +0100)] 
Fix two tests on Solaris if compiling with -m64

8 years agoFix sun_acl_is_trivial() for directories
Martin Matuska [Sun, 15 Jan 2017 00:56:26 +0000 (01:56 +0100)] 
Fix sun_acl_is_trivial() for directories
Directory write permission includes ACE_DELETE_CHILD on Solaris

8 years agoSupport extracting NFSv4 ACLs from Solaris tar archives
Martin Matuska [Sun, 15 Jan 2017 00:44:34 +0000 (01:44 +0100)] 
Support extracting NFSv4 ACLs from Solaris tar archives
Fix read of default ACLs from Solaris tar archives
Update Solaris tar ACL test to test all ACL types

8 years agoStyle fix: replace spaces with tabs
Martin Matuska [Fri, 13 Jan 2017 10:54:22 +0000 (11:54 +0100)] 
Style fix: replace spaces with tabs

8 years agoFix ci_test_driver error status on non-FreeBSD
Martin Matuska [Thu, 12 Jan 2017 15:55:31 +0000 (16:55 +0100)] 
Fix ci_test_driver error status on non-FreeBSD

8 years agoUse uid 18 instead of 17 for test_option_uid_uname
Martin Matuska [Thu, 12 Jan 2017 15:12:01 +0000 (16:12 +0100)] 
Use uid 18 instead of 17 for test_option_uid_uname
Uid 17 is assigned on Solaris

8 years agoImplement ACL triviality check for Solaris
Martin Matuska [Thu, 12 Jan 2017 15:07:15 +0000 (16:07 +0100)] 
Implement ACL triviality check for Solaris

8 years agoAllow setting custom make and cmake in build/ci_build.sh
Martin Matuska [Wed, 11 Jan 2017 22:20:58 +0000 (23:20 +0100)] 
Allow setting custom make and cmake in build/ci_build.sh

8 years agoUnify platform ACL tests
Martin Matuska [Wed, 11 Jan 2017 12:25:39 +0000 (13:25 +0100)] 
Unify platform ACL tests

Enable POSIX.1e tests on Linux systems with libacl
Add POSIX.1e default ACL test

8 years agoTravis CI: use container based infrastructre
Martin Matuska [Tue, 10 Jan 2017 21:28:37 +0000 (22:28 +0100)] 
Travis CI: use container based infrastructre
All required packages are now supported via the "apt" addon.
Install missing libacl1-dev libraries.

8 years agoMake acl_perm_map[] and acl_inherit_map[] more readable
Martin Matuska [Tue, 10 Jan 2017 20:50:37 +0000 (21:50 +0100)] 
Make acl_perm_map[] and acl_inherit_map[] more readable
Fix missing acl_inherit_map[] in archive_write_disk_acl.c
Add comments to translate_acl()

8 years agoAdd POSIX.1e and NFSv4 ACL support for Solaris and derivates
Martin Matuska [Tue, 10 Jan 2017 16:03:17 +0000 (17:03 +0100)] 
Add POSIX.1e and NFSv4 ACL support for Solaris and derivates

8 years agoDo not fallback from failed acl_set_fd() to acl_set_file()
Martin Matuska [Tue, 10 Jan 2017 11:37:38 +0000 (12:37 +0100)] 
Do not fallback from failed acl_set_fd() to acl_set_file()
Do not fallback from failed acl_set_fd_np() to acl_set_link_np()

8 years agoFix id handling in archive_acl_(from|to)_text* for NFSv4 ACLs
Martin Matuska [Mon, 9 Jan 2017 23:36:58 +0000 (00:36 +0100)] 
Fix id handling in archive_acl_(from|to)_text* for NFSv4 ACLs

Always append id if ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID flag is set.
Try interpreting the name field as a numeric id.

This matches behavior of the "star" archiver.

8 years agoMerge pull request #691 from stefanberger/master
Tim Kientzle [Mon, 9 Jan 2017 14:06:09 +0000 (06:06 -0800)] 
Merge pull request #691 from stefanberger/master

Add support for extracting SCHILY.xattr extended attributes

8 years agoWrite xattr as LIBARCHIVE.xattr and/or SCHILY.xattr 691/head
Stefan Berger [Fri, 6 May 2016 20:24:27 +0000 (16:24 -0400)] 
Write xattr as LIBARCHIVE.xattr and/or SCHILY.xattr

Introduce flags to write extended attributes either with the prefix
LIBARCHIVE.xattr or SCHIL.xattr. For the existing bsdtar formats
'pax' and 'posix' we now choose to write both. This enables backwards
compatibility and allow us to exchange tar files carrying extended
attributes with GNU tar.

8 years agoIntroduce add_pax_attr_binary and have add_pax_attr call it
Stefan Berger [Fri, 6 May 2016 18:34:01 +0000 (14:34 -0400)] 
Introduce add_pax_attr_binary and have add_pax_attr call it

To prepare for being able to write binary values in the PAX extended
header, introduce add_pax_attr_binary and have add_pax_attr call it
by determining the length of the string being passed.

8 years agoIntroduce archive_array_append to append a raw array to an archive_string
Stefan Berger [Fri, 6 May 2016 19:20:30 +0000 (15:20 -0400)] 
Introduce archive_array_append to append a raw array to an archive_string

Introduce archive_array_append to append a raw array to an archive_string.
We need this for binary values in the PAX header.

We can append arbitray data to the archive_string since its string append
operations simply append at the end pointer rather than walking the string
and appending at the zero byte.

8 years agoAdd test case for SCHILY.xattr support
Stefan Berger [Fri, 6 May 2016 17:51:56 +0000 (13:51 -0400)] 
Add test case for SCHILY.xattr support

Add a test case for the SCHILY.xattr support. We test whether the
provided archive's PAX header is parsed correctly.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
8 years agoWhen trying to write ACLs do not warn if filesystem has no ACL support
Martin Matuska [Sun, 8 Jan 2017 21:24:40 +0000 (22:24 +0100)] 
When trying to write ACLs do not warn if filesystem has no ACL support

8 years agoWhen writing ACLs use acl_set_fd_np() if available before acl_set_fd()
Martin Matuska [Fri, 6 Jan 2017 02:50:43 +0000 (03:50 +0100)] 
When writing ACLs use acl_set_fd_np() if available before acl_set_fd()

8 years agoAdd missing entries to acl_inherit_map[]
Martin Matuska [Wed, 4 Jan 2017 15:30:34 +0000 (16:30 +0100)] 
Add missing entries to acl_inherit_map[]

8 years agoIf possible read default ACLs with acl_get_fd_np()
Martin Matuska [Wed, 4 Jan 2017 13:07:50 +0000 (14:07 +0100)] 
If possible read default ACLs with acl_get_fd_np()

8 years agoAdd support for extracting SCHIL.xattr extended attributes
Stefan Berger [Mon, 25 Apr 2016 14:41:01 +0000 (10:41 -0400)] 
Add support for extracting SCHIL.xattr extended attributes

This patch adds support for extracting SCHIL.xattr extended attributes
found in the PAX extended header. Since some of the attributes found
there can be binary data, we extend the parser for support of binary data.

One example for an attribute with binary data is SCHILY.xattr.security.ima,
which contains a digital signature.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
8 years agoMerge pull request #854 from Tarsnap/spelling-upload
Martin Matuska [Tue, 3 Jan 2017 23:19:42 +0000 (00:19 +0100)] 
Merge pull request #854 from Tarsnap/spelling-upload

Spelling fixes

8 years agoFix build on Solaris-based systems
Martin Matuska [Mon, 2 Jan 2017 15:51:00 +0000 (16:51 +0100)] 
Fix build on Solaris-based systems

8 years agoSpelling fix in "trad_enc_decypt_byte" code 854/head
Graham Percival [Sat, 31 Dec 2016 00:28:01 +0000 (16:28 -0800)] 
Spelling fix in "trad_enc_decypt_byte" code

Sponsored by: Tarsnap Backup Inc.

8 years agoSpelling fixes
Graham Percival [Fri, 30 Dec 2016 23:21:09 +0000 (15:21 -0800)] 
Spelling fixes

Sponsored by: Tarsnap Backup Inc.

8 years agoUse __LA_DEPRECATED for functions deprecated in 379867e
Martin Matuska [Fri, 30 Dec 2016 22:44:27 +0000 (23:44 +0100)] 
Use __LA_DEPRECATED for functions deprecated in 379867e

Reported-By: Jamie Kenyon

8 years agoMerge pull request #851 from Tarsnap/spelling-upload
Martin Matuska [Fri, 30 Dec 2016 01:10:05 +0000 (02:10 +0100)] 
Merge pull request #851 from Tarsnap/spelling-upload

Spelling fixes

8 years agoMerge pull request #843 from yaneurabeya/cpio-coverity-fixes
Martin Matuska [Fri, 30 Dec 2016 00:30:13 +0000 (01:30 +0100)] 
Merge pull request #843 from yaneurabeya/cpio-coverity-fixes
Fix memory leak of struct archive_entry in cpio/cpio.c

8 years agoFix prototypes to match headers. From Thomas Klausner.
Joerg Sonnenberger [Thu, 29 Dec 2016 23:55:09 +0000 (00:55 +0100)] 
Fix prototypes to match headers. From Thomas Klausner.

8 years agoFix style typo in tar.5
Martin Matuska [Thu, 29 Dec 2016 01:04:04 +0000 (02:04 +0100)] 
Fix style typo in tar.5

8 years agoSpelling fixes 851/head
Graham Percival [Wed, 28 Dec 2016 04:32:44 +0000 (20:32 -0800)] 
Spelling fixes

Sponsored by: Tarsnap Backup Inc.

8 years agoExtend NFSv4 ACL support in libarchive
Martin Matuska [Tue, 27 Dec 2016 22:21:39 +0000 (23:21 +0100)] 
Extend NFSv4 ACL support in libarchive
Break up, simplify and improve OS-independent ACL code
Add star-compatible NFSv4 ACL read/write support to pax (SCHILY.acl.ace)
Remap ARCHIVE_ACL_ENTRY_STYLE_* flags

New functions:
  archive_entry_acl_from_text()
  archive_entry_acl_from_text_w()
  archive_entry_acl_to_text()
  archive_entry_acl_to_text_w()

Deprecated functions:
  archive_entry_acl_text()
  archive_entry_acl_text_w()

Closes #771

8 years agoarchive_strncat_l(): allocate and do not convert if length == 0
Martin Matuska [Mon, 26 Dec 2016 21:23:24 +0000 (22:23 +0100)] 
archive_strncat_l(): allocate and do not convert if length == 0

This ensures e.g. that archive_mstring_copy_mbs_len_l() does not set
aes_set = AES_SET_MBS with aes_mbs.s == NULL.

Resolves possible null-pointer dereference reported by OSS-Fuzz.

Reported-By: OSS-Fuzz issue 286

8 years agoFilter options need to be freed in all liblzma versions
Martin Matuska [Sun, 25 Dec 2016 02:02:57 +0000 (03:02 +0100)] 
Filter options need to be freed in all liblzma versions

This reverts commit 00f4bd830f6c2c83cf11f4f4f7db06b4b238cb71,
reversing changes made to 6070852668fe4881d1d308983f5c87153235feff.
This reverts commit b5ffcc0bd7f0f39102863d5c96ae91f02c74aaae.

Reported-By: OSS-Fuzz 232

8 years agoMerge pull request #850 from Lekensteyn/zip-directory-mode
Tim Kientzle [Fri, 23 Dec 2016 18:19:05 +0000 (10:19 -0800)] 
Merge pull request #850 from Lekensteyn/zip-directory-mode

Issue #822: Try harder to detect directories in zip archives

8 years agoIssue #822: Try harder to detect directories in zip archives 850/head
Peter Wu [Fri, 23 Dec 2016 11:45:43 +0000 (12:45 +0100)] 
Issue #822: Try harder to detect directories in zip archives

Assume that anything with a trailing slash is a directory. This avoids
creating regular files when a directory is expected and could occur
when the External File Attributes (EFA) field in the Central Directory
contains bogus values:

 - Jar file: observed to have OS MS-DOS (0) and EFA 0.
 - dex2jar-2.0.zip: observed to have OS Unix (3), but EFA 0xffff0010.
   After this patch, bsdtar tv still shows mode drwsrwsrwt, but at least
   it successfully creates a directory instead of a regular file.

A test case has been added for the first case (based on
test_read_format_zip_nofiletype).

8 years agoSpelling fixes (#846)
Graham Percival [Tue, 20 Dec 2016 22:11:29 +0000 (14:11 -0800)] 
Spelling fixes (#846)

Sponsored by: Tarsnap Backup Inc.

8 years agoCompute correct size for buffer. Avoid recomputation of lengths.
Joerg Sonnenberger [Sun, 18 Dec 2016 10:55:30 +0000 (11:55 +0100)] 
Compute correct size for buffer. Avoid recomputation of lengths.

Based on Coverity reports from pull request #844.

8 years agoAllocate memory precisely. Avoid recomputions of sizes.
Joerg Sonnenberger [Sun, 18 Dec 2016 10:50:10 +0000 (11:50 +0100)] 
Allocate memory precisely. Avoid recomputions of sizes.

Based on Coverity report from pull request #844.

8 years agoTravis CI: use custom test driver, don't build with gcc on OSX
Martin Matuska [Thu, 15 Dec 2016 11:06:18 +0000 (12:06 +0100)] 
Travis CI: use custom test driver, don't build with gcc on OSX

8 years agoTravis CI: split build and test into two steps
Martin Matuska [Thu, 15 Dec 2016 00:16:17 +0000 (01:16 +0100)] 
Travis CI: split build and test into two steps

8 years agoAdd OSx to Travis CI build
Martin Matuska [Wed, 14 Dec 2016 13:00:29 +0000 (14:00 +0100)] 
Add OSx to Travis CI build

8 years agoDon't check for duplicates when adding NFSv4 ACL entries
Martin Matuska [Tue, 13 Dec 2016 12:35:27 +0000 (13:35 +0100)] 
Don't check for duplicates when adding NFSv4 ACL entries

8 years agoDon't leak `entry` in `file_to_archive` if archive_read_disk_entry_from_file 843/head
Ngie Cooper [Tue, 13 Dec 2016 03:32:32 +0000 (19:32 -0800)] 
Don't leak `entry` in `file_to_archive` if archive_read_disk_entry_from_file
fails with `ARCHIVE_FAILED`

This greatly reduces memory usage when the call fails, e.g. a file cannot be
stat'ed

Confirmed with the following snippet:

% d=/tmp/cpio_test
% mkdir -p $d
% while : ; do echo /nonexistent ; done | cpio -dump $d 2>/dev/null

Reported by: Coverity
CID: 1016757

8 years agoMerge pull request #807 from csanchezdll/issue696
Tim Kientzle [Sun, 11 Dec 2016 17:09:21 +0000 (09:09 -0800)] 
Merge pull request #807 from csanchezdll/issue696

Issue 696: ppc64le mache ckech failure

8 years agoMerge pull request #818 from JPeterMugaas/cygwin-msys2-fixes
Tim Kientzle [Sun, 11 Dec 2016 17:08:14 +0000 (09:08 -0800)] 
Merge pull request #818 from JPeterMugaas/cygwin-msys2-fixes

Cygwin msys2 fixes

8 years agoMerge pull request #833 from Tarsnap/spelling-upload
Tim Kientzle [Sun, 11 Dec 2016 17:06:10 +0000 (09:06 -0800)] 
Merge pull request #833 from Tarsnap/spelling-upload

Spelling upload

8 years agoMerge pull request #839 from yaneurabeya/tar-test-coverity-fixes
Tim Kientzle [Sun, 11 Dec 2016 17:04:53 +0000 (09:04 -0800)] 
Merge pull request #839 from yaneurabeya/tar-test-coverity-fixes

tar/test coverity fixes

8 years agoMerge pull request #840 from yaneurabeya/libarchive-test-coverity-fixes
Tim Kientzle [Sun, 11 Dec 2016 17:02:27 +0000 (09:02 -0800)] 
Merge pull request #840 from yaneurabeya/libarchive-test-coverity-fixes

libarchive/test coverity fixes

8 years agoFix memory management issues 840/head
Ngie Cooper [Sun, 11 Dec 2016 02:32:11 +0000 (18:32 -0800)] 
Fix memory management issues

1. Assert that `f` isn't NULL to strengthen the guarantee that
   it's valid.
2. Assert that `rawimage` isn't NULL to strengthen the guarantee
   that it's valid.
3. Do not leak `tmp`
4. Free `rawimage` in all instances; NULL out the value to avoid
   double-free'ing it by accident

Reported by: Coverity
CID: 1331454 [1], 1361651 [2], 1361669 [3], 1361679 [4]

8 years ago- Only allocate `mine` when level == 1 to clarify its lifetime and
Ngie Cooper [Sun, 11 Dec 2016 02:17:01 +0000 (18:17 -0800)] 
- Only allocate `mine` when level == 1 to clarify its lifetime and
  leak the value less often.
- Only free mine->copy_buff when mine != NULL to avoid segfaults if
  memory_read_close(..) is called with client_data == NULL.

This should either address or mitigate the issue reported with Coverity
(CID # 1331663)

8 years agoFix several coverity issues with test_read_append_filter_wrong_program
Ngie Cooper [Sun, 11 Dec 2016 01:59:03 +0000 (17:59 -0800)] 
Fix several coverity issues with test_read_append_filter_wrong_program

1. Ignore errors from fsetpos to mute complaint from Coverity
2. Make sure the first dup2 succeeds to quell complaints from Coverity
   about negative values being passed into the subsequent dup2 call.
3. Unconditionally close fd [3]. Although it's unlikely for freopen to
   fail, it can happen.. closing fd shouldn't be contingent on freopen's
   success.

CID: 1364318 [1], 1364322 [2], 1365233 [3]

8 years agoFree `m` before returning after allocating it
Ngie Cooper [Sun, 11 Dec 2016 01:49:55 +0000 (17:49 -0800)] 
Free `m` before returning after allocating it

Reported by: Coverity
CID: 1331667

8 years agoFree `testprog_ustar` when done 839/head
Ngie Cooper [Sun, 11 Dec 2016 00:38:02 +0000 (16:38 -0800)] 
Free `testprog_ustar` when done

Reported by: Coverity
CID: 1355330

8 years agoFree p (the memory allocated via slurpfile) when done with the contents
Ngie Cooper [Sun, 11 Dec 2016 00:34:51 +0000 (16:34 -0800)] 
Free p (the memory allocated via slurpfile) when done with the contents

Reported by: Coverity
CID: 1331627-133163013553321331634-133164513316471355331

8 years agoMerge pull request #838 from yaneurabeya/cpio-test-coverity-fixes
Tim Kientzle [Sun, 11 Dec 2016 00:51:21 +0000 (16:51 -0800)] 
Merge pull request #838 from yaneurabeya/cpio-test-coverity-fixes

Free p (the memory allocated via slurpfile) when done with the contents

8 years agoDon't leak memory if returning from
Ngie Cooper [Sun, 11 Dec 2016 00:32:16 +0000 (16:32 -0800)] 
Don't leak memory if returning from
assertion_file_contains_lines_any_order(..) early

Free memory consistently at the bottom of the function

Reported by: Coverity
CID: 1331678

8 years agoDon't leak the file descriptor pointed to by `in` if the first call to
Ngie Cooper [Sun, 11 Dec 2016 00:24:35 +0000 (16:24 -0800)] 
Don't leak the file descriptor pointed to by `in` if the first call to
fgets fails.

Reported by: Coverity
CID: 1331677

8 years agoDon't overrun `tmpdir` buffer with sprintf
Ngie Cooper [Sun, 11 Dec 2016 00:22:10 +0000 (16:22 -0800)] 
Don't overrun `tmpdir` buffer with sprintf

If progname is sufficiently large enough, it would overflow the `tmpdir`
buffer, causing an illegal memory access

Reported by: Coverity
CID: 1331594

8 years agoIncrease the size of buff by 1 and adjust the readlink(2) call to
Ngie Cooper [Sun, 11 Dec 2016 00:15:18 +0000 (16:15 -0800)] 
Increase the size of buff by 1 and adjust the readlink(2) call to
subtract the buffer len by 1 to account for the needed space for a
NUL terminator, as readlink isn't guaranteed to provide one

Reported by: Coverity
CID: 13312931332105

8 years agoFree p (the memory allocated via slurpfile) when done with the contents 838/head
Ngie Cooper [Sat, 10 Dec 2016 23:41:58 +0000 (15:41 -0800)] 
Free p (the memory allocated via slurpfile) when done with the contents

Reported by: Coverity
CID: 1331631133163213316331331646

8 years agoIssue #837: Fix iteration over the available error codes
Tim Kientzle [Fri, 9 Dec 2016 05:56:34 +0000 (21:56 -0800)] 
Issue #837: Fix iteration over the available error codes

8 years agoSpelling fix in "struct tree{}" code 833/head
Graham Percival [Thu, 8 Dec 2016 17:46:33 +0000 (09:46 -0800)] 
Spelling fix in "struct tree{}" code

Sponsored by: Tarsnap Backup Inc.

8 years agoSpelling fixes
Graham Percival [Thu, 8 Dec 2016 17:46:25 +0000 (09:46 -0800)] 
Spelling fixes

Sponsored by: Tarsnap Backup Inc.

8 years agoDo not read beyond strtab table size in _ar_read_header()
Martin Matuska [Thu, 8 Dec 2016 01:45:41 +0000 (02:45 +0100)] 
Do not read beyond strtab table size in _ar_read_header()

Reported-by: OSS-Fuzz issue 237

8 years agoClose filters before freeing
Martin Matuska [Wed, 7 Dec 2016 11:14:25 +0000 (12:14 +0100)] 
Close filters before freeing

Plugs memory leak of allocated filter buffers if archive_read_free()
is called and archive state is ARCHIVE_STATE_FATAL.

Reported-by: OSS-Fuzz issue 227, 230, 239
8 years agoCheck for EVP_CIPHER_CTX_new failure (#836)
Brad King [Tue, 6 Dec 2016 16:35:14 +0000 (11:35 -0500)] 
Check for EVP_CIPHER_CTX_new failure (#836)

If this OpenSSL function fails to allocate memory it returns NULL.

8 years agoReplace malloc + memset with calloc.
Joerg Sonnenberger [Tue, 6 Dec 2016 14:58:03 +0000 (15:58 +0100)] 
Replace malloc + memset with calloc.

8 years agoSimplify by using strdup. Check for allocation failure.
Joerg Sonnenberger [Tue, 6 Dec 2016 14:38:09 +0000 (15:38 +0100)] 
Simplify by using strdup. Check for allocation failure.

8 years agoExplicitly free archive to reduce valgrind noise.
Joerg Sonnenberger [Tue, 6 Dec 2016 14:23:26 +0000 (15:23 +0100)] 
Explicitly free archive to reduce valgrind noise.

8 years agoDon't recommend deprecated functions.
Joerg Sonnenberger [Tue, 6 Dec 2016 14:22:29 +0000 (15:22 +0100)] 
Don't recommend deprecated functions.

8 years agoMerge branch 'master' of github.com:libarchive/libarchive
Joerg Sonnenberger [Tue, 6 Dec 2016 14:09:41 +0000 (15:09 +0100)] 
Merge branch 'master' of github.com:libarchive/libarchive

8 years agoMerge branch 'openssl-1.1'
Brad King [Mon, 5 Dec 2016 16:17:46 +0000 (11:17 -0500)] 
Merge branch 'openssl-1.1'

Pull-request: #826

8 years agoAdd more explanation comments to validate_number_field()
Martin Matuska [Mon, 5 Dec 2016 15:24:54 +0000 (16:24 +0100)] 
Add more explanation comments to validate_number_field()

8 years agoRelax sanity checks of number fields in tar header even more.
Martin Matuska [Mon, 5 Dec 2016 00:05:12 +0000 (01:05 +0100)] 
Relax sanity checks of number fields in tar header even more.

This fixes reading tar archives created by plexus-archiver (used e.g. by
maven-assembly-plugin to create source and binary tar distributions)
version 2.6.2 and lower. These archives may have entries with uid and gid
header fields filled with spaces without any octal digits.

Fixes #832

8 years agoFix hang in uudecode_filter_read()
Martin Matuska [Sat, 3 Dec 2016 01:16:18 +0000 (02:16 +0100)] 
Fix hang in uudecode_filter_read()

Reported-by: OSS-Fuzz issue 16
8 years agoSpelling fixes (#831)
Graham Percival [Sat, 3 Dec 2016 23:00:40 +0000 (15:00 -0800)] 
Spelling fixes (#831)

Sponsored by: Tarsnap Backup Inc.

8 years agoReject an 'ar' filename table larger than 1GB or a filename larger than 1MB.
Tim Kientzle [Sat, 3 Dec 2016 07:41:52 +0000 (23:41 -0800)] 
Reject an 'ar' filename table larger than 1GB or a filename larger than 1MB.

Suggested by issue 220 from OSS-Fuzz project.

8 years agoDramatically simplify loop and avoid a read-beyond-buffer issue.
Joerg Sonnenberger [Fri, 2 Dec 2016 11:00:28 +0000 (12:00 +0100)] 
Dramatically simplify loop and avoid a read-beyond-buffer issue.

Triggered by OSS-fuzz reports.

8 years agoFix heap buffer overflow in uudecode_bidder_bid()
Martin Matuska [Fri, 2 Dec 2016 09:08:02 +0000 (10:08 +0100)] 
Fix heap buffer overflow in uudecode_bidder_bid()

Reported-by: OSS-Fuzz issue 139, 145, 152
8 years agoRework the valid_number_field test function to be more
Tim Kientzle [Fri, 2 Dec 2016 04:09:59 +0000 (20:09 -0800)] 
Rework the valid_number_field test function to be more
lenient.  There are an enormous number of tar writing
programs, many which don't quite follow the specs.

Note:  I don't think I recall seeing any that left
number fields with trailing garbage; I may be wrong
about that, in which case, this would have to stop
at the first NUL (after the first octal character).

8 years agoReread the CAB header skipping the self-extracting binary code.
Joerg Sonnenberger [Thu, 1 Dec 2016 18:56:43 +0000 (19:56 +0100)] 
Reread the CAB header skipping the self-extracting binary code.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15 as found
by the "OSS-Fuzz" project.

8 years agoRestore compatibility with Perl Archive::Tar that was broken with #825
Martin Matuska [Thu, 1 Dec 2016 14:58:06 +0000 (15:58 +0100)] 
Restore compatibility with Perl Archive::Tar that was broken with #825

8 years agoSpelling fixes (#830)
Graham Percival [Wed, 30 Nov 2016 21:46:10 +0000 (13:46 -0800)] 
Spelling fixes (#830)

* Spelling: previos -> previous

Sponsored by: Tarsnap Backup Inc.

* Spelling: Preparre -> Prepare

Sponsored by: Tarsnap Backup Inc.

* Spelling: Invalide -> Invalid

Sponsored by: Tarsnap Backup Inc.

* Spelling: leagal -> legal

Sponsored by: Tarsnap Backup Inc.

* Spelling: lengthe -> length

Sponsored by: Tarsnap Backup Inc.

* Spelling: cotents -> contents

Sponsored by: Tarsnap Backup Inc.

* Spelling: travesal -> traversal

Sponsored by: Tarsnap Backup Inc.

* Spelling: functinos -> functions

Sponsored by: Tarsnap Backup Inc.

* Spelling: particluar -> particular

Sponsored by: Tarsnap Backup Inc.

* Spelling: uncapable -> incapable

Sponsored by: Tarsnap Backup Inc.

8 years agoMerge pull request #819 from andrewgregory/mtree-hashtable
Martin Matuška [Wed, 30 Nov 2016 15:45:48 +0000 (16:45 +0100)] 
Merge pull request #819 from andrewgregory/mtree-hashtable

mtree: use hash table for duplicate entry search

8 years agoAdd test archives from #825 to Makefile.am
Martin Matuska [Tue, 29 Nov 2016 21:59:19 +0000 (22:59 +0100)] 
Add test archives from #825 to Makefile.am

8 years agoFix extracting hardlinks over symlinks
Martin Matuska [Tue, 29 Nov 2016 15:55:41 +0000 (16:55 +0100)] 
Fix extracting hardlinks over symlinks

Closes #821

8 years agoarchive_write_disk_posix.c: make *_fsobj functions more readable
Martin Matuska [Tue, 29 Nov 2016 15:47:37 +0000 (16:47 +0100)] 
archive_write_disk_posix.c: make *_fsobj functions more readable