0
0
mirror of https://github.com/libarchive/libarchive.git synced 2026-01-18 17:11:25 +01:00

7023 Commits

Author SHA1 Message Date
Martin Matuška
8d1c9b95f1 Merge pull request #2838 from DHowett/revert-2826-waitpid
Revert "Wait for the process instead of busy wait loop"
2026-01-07 23:38:30 +01:00
Dustin L. Howett
dea03d6e00 Revert "Wait for the process instead of busy wait loop" 2026-01-07 13:42:41 -08:00
Martin Matuška
3cd503b75a Merge pull request #2781 from AZero13/ints
Remove unneeded int cast
2026-01-05 10:35:59 +01:00
Martin Matuška
86851e3092 Merge pull request #2826 from AZero13/waitpid
Wait for the process instead of busy wait loop
2026-01-05 10:33:33 +01:00
Martin Matuška
02eba33825 Merge pull request #2836 from ngie-eign/add-freebsd-15-cirrus-ci
Expand the test matrix to include 15.x images/ZFS
2026-01-05 10:32:49 +01:00
Enji Cooper
0bb2058bd5 Expand the test matrix to include 15.x images/ZFS
This change adds support for the following test scenarios:

- 15.0-RELEASE - ZFS
- 15.0-STABLE - UFS
- 15.0-STABLE - ZFS

This additional testing aims to catch issues with 15.x, as well as
ensure libarchive use doesn't regress when run on ZFS-based hosts.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2026-01-04 17:55:34 -08:00
Tim Kientzle
e663efb430 Merge pull request #2835 from jmcarp/build-illumos
Skip unsupported linker options on illumos.
2025-12-31 15:31:55 -08:00
Josh Carp
3ff73fdfce Skip unsupported linker options on illumos.
Building on illumos currently fails with:

```
ld: fatal: unrecognized option '--gc-sections'
```

This happens because `--gc-sections` isn't supported on illumos `ld`.
This patch updates CMakeLists.txt to skip unsupported linker options on
illumos. The flags used on other operating systems are optimizations
that don't affect correctness, so this change is safe.
2025-12-31 22:37:01 +00:00
Tim Kientzle
e91171c9a0 Merge pull request #2825 from AZero13/patch-2
Error check ret before calling copy_seek_stat
2025-12-27 10:52:17 -08:00
Tim Kientzle
7f27446a51 Merge pull request #2824 from AZero13/qosflags
Remove bitmask typo in dwSecurityQosFlags
2025-12-27 10:48:03 -08:00
Tim Kientzle
090fbc3655 Merge pull request #2827 from AZero13/free
Simplify file free
2025-12-27 10:31:27 -08:00
Tim Kientzle
8c2241a7e4 Merge pull request #2829 from AZero13/leak-shar
archive_write_shar_header: free shar->last_dir before replacement
2025-12-27 10:30:22 -08:00
Tim Kientzle
d54b2241b9 Merge pull request #2830 from AZero13/return
return early if archive_write_set_format_shar fails
2025-12-27 10:28:27 -08:00
Tim Kientzle
782cdd88b6 Merge pull request #2831 from AZero13/check-copy-length
Use copy_length as upper-bound, not strlen(p)
2025-12-27 10:27:12 -08:00
Tim Kientzle
d1b87af584 Merge pull request #2834 from AZero13/patch-5
Use #warning, not #warn
2025-12-27 10:21:44 -08:00
AZero13
9a089dc44a archive_write_shar_header: free shar->last_dir before replacement 2025-12-26 18:05:03 -05:00
AZero13
a55b8e8aec Use #warning, not #warn
#warn is a GNU extension
2025-12-26 15:28:12 -05:00
AZero13
76558692a4 Use copy_length as upper-bound, not strlen(p) 2025-12-26 15:09:10 -05:00
AZero13
4a32d9ff7f return early if archive_write_set_format_shar fails 2025-12-26 15:05:46 -05:00
AZero13
998c0b4080 Simplify file free
free is fine if NULL
2025-12-26 14:45:42 -05:00
AZero13
030a93817c Wait for the process instead of busy wait loop 2025-12-26 13:54:21 -05:00
AZero13
9298dc503a Error check ret before calling copy_seek_stat 2025-12-26 13:29:14 -05:00
AZero13
e54c735586 Remove bitmask typo in dwSecurityQosFlags
We seemed to have been isolating the wrong flags.
2025-12-26 13:19:56 -05:00
Martin Matuška
b2d68e2f1a Merge pull request #2813 from AZero13/memcpy
We copy from p, not p + module_len
2025-12-26 10:22:13 +01:00
Martin Matuška
1cd0b9179c Merge pull request #2796 from vcoxvco/fix_unninit
libarchive/archive_util.c: Uninitialized variable
2025-12-25 10:16:46 +01:00
Martin Matuška
095609e89b Merge pull request #2816 from AZero13/strdup
Error check strdup for path name
2025-12-25 10:14:23 +01:00
Martin Matuška
5c84afd664 Merge pull request #2814 from AZero13/gname
uname_override checks gname_override when it should check uname_override
2025-12-25 10:04:44 +01:00
Martin Matuška
f366e98107 Merge pull request #2789 from libarchive/dependabot/github_actions/all-actions-50b857948b
CI: Bump the all-actions group across 1 directory with 3 updates
2025-12-25 10:03:34 +01:00
Martin Matuška
c4597a73f3 Merge pull request #2815 from AZero13/=
Use >=, not =>
2025-12-25 10:00:35 +01:00
dependabot[bot]
79fac84eb2 CI: Bump the all-actions group across 1 directory with 3 updates
Bumps the all-actions group with 3 updates in the / directory: [actions/checkout](https://github.com/actions/checkout), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `actions/checkout` from 5.0.0 to 5.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](08c6903cd8...93cb6efe18)

Updates `actions/upload-artifact` from 4.6.2 to 5.0.0
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](ea165f8d65...330a01c490)

Updates `github/codeql-action` from 3.30.6 to 4.31.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](64d10c1313...014f16e7ab)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 5.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-actions
- dependency-name: actions/upload-artifact
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-actions
- dependency-name: github/codeql-action
  dependency-version: 4.31.3
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-25 08:53:17 +00:00
Martin Matuška
8042630d4f Merge pull request #2819 from GabrielBarrantes/work/typos
Improve wording
2025-12-25 09:48:17 +01:00
Martin Matuška
214ee3edc7 Merge pull request #2820 from skypher/oss-fuzz-expansion
Expand OSS-Fuzz integration: 1 → 25 fuzz targets
2025-12-25 09:47:17 +01:00
Leslie P. Polzer
eb6f992ba1 Refactor all fuzzers to use shared fuzz_helpers.h
Complete the refactoring of all 25 fuzzers:
- Remove duplicate Buffer struct definitions from 15 format fuzzers
- Remove duplicate DataConsumer class from 7 API fuzzers
- Update consume_bytes() calls to match new signature
- All fuzzers now use shared helpers from fuzz_helpers.h

This eliminates ~1000 lines of duplicated code.
2025-12-22 04:53:06 +00:00
Leslie P. Polzer
544b07541b Refactor fuzzers: add shared header, remove system() call
- Add fuzz_helpers.h with shared Buffer, reader_callback, DataConsumer
- Replace system("rm -rf") with nftw-based remove_directory_tree()
- Refactor entry, tar, write_disk fuzzers to use shared helpers
- Reduces code duplication and improves maintainability
2025-12-22 04:26:57 +00:00
Leslie P. Polzer
5e88593708 Expand OSS-Fuzz integration: 1 → 25 fuzz targets
Add comprehensive fuzzing coverage for libarchive:

Format-specific fuzzers (13):
- tar, zip, 7zip, rar, rar5, xar, cab, lha, iso9660, cpio, warc, mtree, ar

Security-critical fuzzers (4):
- encryption: encrypted archive handling
- write_disk: extraction path traversal
- read_disk: filesystem traversal, symlinks
- entry: ACL functions (previously 0% coverage)

API fuzzers (7):
- write: archive creation
- linkify: hardlink detection (complexity 775, was 0%)
- match: inclusion/exclusion patterns
- string: encoding conversions (UTF-8, wide chars)
- seek: seekable archive operations
- roundtrip: write-then-read consistency
- filter: compression/decompression

Supporting files:
- 14 dictionaries with format-specific magic bytes
- 9 options files for complex fuzzers
- Updated build script with seed corpora generation

Targets previously uncovered functions:
- archive_entry_linkify (complexity 775)
- ACL functions (complexity 705-713)
- xar_read_header (was 10.11% coverage)

Expected coverage improvement: 74% → 85-95%
2025-12-22 04:08:26 +00:00
Gabriel Barrantes
8f3fcf9ecd Improve wording 2025-12-21 17:30:42 -06:00
Tim Kientzle
6e77f521fa Merge pull request #2812 from AZero13/w
Fix p == null copy paste error
2025-12-18 07:52:10 -08:00
AZero13
50a67c9223 Error check strdup for path name 2025-12-16 21:50:06 -05:00
AZero13
b39f91e5da Use >=, not => 2025-12-16 21:48:45 -05:00
AZero13
55fbf225c8 uname_override checks gname_override when it should check uname_override 2025-12-16 21:44:31 -05:00
AZero13
e75e5892fd We copy from p, not p + module_len 2025-12-16 21:41:05 -05:00
AZero13
784b778f3b Fix p == null copy paste error 2025-12-16 21:37:16 -05:00
Tim Kientzle
b51e59bcfb Merge pull request #2807 from KlaraSystems/des/list-tests
Add option to list tests
2025-12-12 17:19:37 -08:00
Martin Matuška
a7f3b56af6 Merge pull request #2809 from mmatuska/fix/2787
tar: fix off-bounds read resulting from #2787 (3150539ed)
2025-12-12 12:04:09 +01:00
Martin Matuska
cfb02de558 tar: fix off-bounds read resulting from #2787 (3150539ed) 2025-12-09 22:40:42 +01:00
Dag-Erling Smørgrav
8295366f94 test_main: Add option to list tests
The test runner already lists available tests if it fails to parse the
command line, but add a -l option to explicitly do this without also
printing an error message and a summary of options.
2025-12-06 14:45:40 +01:00
Tim Kientzle
8c86c46d1b Merge pull request #2805 from fredldotme/android-recovery
libarchive & contrib: Build as static binary for the Android recovery
2025-12-04 04:17:34 -08:00
Alfred Neumayer
752df6abb7 libarchive & contrib: Build as static binary for the Android recovery
Adds a 'bsdtar-recovery' Android build target for use in Android recoveries
as a static binary, and fixes some build failures on the get-go.

Tested on halium-7.1, halium-9.0 & halium-13.0.

Change-Id: I9b656e7016d4bf21517e2edb18f2a7733edc6982
2025-12-04 06:34:21 +01:00
Martin Matuška
728b43c0c1 Merge pull request #2800 from mmatuska/fix/freebsdci
CI: use gmake in Cirrus FreeBSD build
2025-12-01 13:31:22 +01:00
Martin Matuska
0a594ab77d CI: use gmake in Cirrus FreeBSD build 2025-11-28 22:31:25 +01:00