]> git.ipfire.org Git - thirdparty/libarchive.git/log
thirdparty/libarchive.git
8 years agoMerge pull request #845 from yaneurabeya/libarchive-coverity-fixes
Tim Kientzle [Sun, 29 Jan 2017 04:42:29 +0000 (20:42 -0800)] 
Merge pull request #845 from yaneurabeya/libarchive-coverity-fixes

Fix coverity issues with libarchive/

8 years agoMerge pull request #858 from SixTrack/fix_CYGWIN64-MSYS
Tim Kientzle [Sun, 29 Jan 2017 04:25:36 +0000 (20:25 -0800)] 
Merge pull request #858 from SixTrack/fix_CYGWIN64-MSYS

Fix cygwin64 compilation

8 years agoCorrectly convert 32-bit time_t to __time64_t 858/head
Kyrre Sjobak [Thu, 26 Jan 2017 13:36:56 +0000 (14:36 +0100)] 
Correctly convert 32-bit time_t to __time64_t

8 years agoAvoid endless loop when parsing MSZIP signature in cab archives
Martin Matuska [Wed, 25 Jan 2017 22:14:59 +0000 (23:14 +0100)] 
Avoid endless loop when parsing MSZIP signature in cab archives

Reported-By: OSS-Fuzz issue 335

8 years agocpio reader: use strncmp() when comparing against TRAILER!!!
Martin Matuska [Wed, 25 Jan 2017 21:54:14 +0000 (22:54 +0100)] 
cpio reader: use strncmp() when comparing against TRAILER!!!

Reported-By: OSS-Fuzz issue 422

8 years agomtree reader: check line length when looking for /set and /unset
Martin Matuska [Wed, 25 Jan 2017 01:41:54 +0000 (02:41 +0100)] 
mtree reader: check line length when looking for /set and /unset
Fixes possible heap-buffer-overflow.

Reported-By: OSS-Fuzz issue 421, 443

8 years agoWARC reader: do not consider CR or LF as space in xstrpisotime()
Martin Matuska [Wed, 25 Jan 2017 00:29:16 +0000 (01:29 +0100)] 
WARC reader: do not consider CR or LF as space in xstrpisotime()
Fixes possible heap-buffer-overflow.

Reported-By: OSS-Fuzz issue 382, 458

8 years agoFix possible null pointer dereference in lz4_filter_read_legacy_stream()
Martin Matuska [Tue, 24 Jan 2017 22:50:04 +0000 (23:50 +0100)] 
Fix possible null pointer dereference in lz4_filter_read_legacy_stream()

Reported-By: OSS-Fuzz issue 453

8 years agoFix typo in comment
Kyrre Sjobak [Tue, 24 Jan 2017 15:58:07 +0000 (16:58 +0100)] 
Fix typo in comment

8 years agoSilence unused-parameter compiler warnings.
Kyrre Sjobak [Tue, 24 Jan 2017 15:09:23 +0000 (16:09 +0100)] 
Silence unused-parameter compiler warnings.

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 ago- Don't check for `mine` being NULL; it's already been dereferenced 845/head
Ngie Cooper [Tue, 13 Dec 2016 08:11:51 +0000 (00:11 -0800)] 
- Don't check for `mine` being NULL; it's already been dereferenced
- Don't leak `fd`; close when done
- Remove useless frees (one would just involve freeing a NULL pointer;
  the other would involve freeing memory which is free'd elsewhere)

Reported by: Coverity
CID: 101675410167551018902

8 years agoAlways free `file` on failure in `parse_file_info`
Ngie Cooper [Tue, 13 Dec 2016 07:59:56 +0000 (23:59 -0800)] 
Always free `file` on failure in `parse_file_info`

Reported by: Coverity
CID: 1016754

8 years agoFree attr, name, and value on memory allocation failure in
Ngie Cooper [Tue, 13 Dec 2016 07:53:43 +0000 (23:53 -0800)] 
Free attr, name, and value on memory allocation failure in
expat_xmlattr_setup to avoid leaking the storage

Reported by: Coverity
CID: 1229979-1229981

8 years agoFree `temp` immediately after use in archive_write_gnutar_header(..)
Ngie Cooper [Tue, 13 Dec 2016 07:33:22 +0000 (23:33 -0800)] 
Free `temp` immediately after use in archive_write_gnutar_header(..)

This prevents it from being leaked if the function returns early

Reported by: Coverity
CID: 1016752

8 years agoFix up some minor whitespace issues in archive_write_gnutar_header(..)
Ngie Cooper [Tue, 13 Dec 2016 07:19:34 +0000 (23:19 -0800)] 
Fix up some minor whitespace issues in archive_write_gnutar_header(..)

8 years agoClarify that calling memset with '0' is intentional by casting the
Ngie Cooper [Tue, 13 Dec 2016 07:16:25 +0000 (23:16 -0800)] 
Clarify that calling memset with '0' is intentional by casting the
value to (int)

Reported by: Coverity
CID: 1017786

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