Skip to content

Commit 2dcf46a

Browse files
author
adam
committed
libarchive: updated to 3.8.6
Libarchive 3.8.6 is a security and bugfix release. Notable fixes: libarchive: fix incompatibility with Nettle 4.x libarchive: fix NULL pointer dereference in archive_acl_from_text_w() bsdunzip: fix ISO week year and Gregorian year confusion 7zip: ix SEGV in check_7zip_header_in_sfx via ELF offset validation 7zip: fix out-of-bounds access on ELF 64-bit header RAR5 reader: fix infinite loop in rar5 decompression RAR5 reader: fix potential memory leak RAR5: fix SIGSEGV when archive_read_support_format_rar5 is called twice CAB reader: fix memory leak on repeated calls to archive_read_support_format_cab mtree reader: Fix file descriptor leak in mtree parser cleanup various small bugfixes in code and documentation
1 parent fed7792 commit 2dcf46a

125 files changed

Lines changed: 759 additions & 130 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

archivers/libarchive/Makefile.common

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# $NetBSD: Makefile.common,v 1.26 2026/01/06 11:55:20 adam Exp $
1+
# $NetBSD: Makefile.common,v 1.27 2026/03/26 11:20:04 adam Exp $
22
# used by archivers/bsdtar/Makefile
33
# used by archivers/libarchive/Makefile
44

5-
DISTNAME= libarchive-3.8.5
5+
DISTNAME= libarchive-3.8.6
66
CATEGORIES= archivers
77
MASTER_SITES= https://www.libarchive.org/downloads/
88
DISTFILES= # empty

archivers/libarchive/files/Makefile.am

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -516,6 +516,7 @@ libarchive_test_SOURCES= \
516516
libarchive/test/test_read_format_lha_bugfix_0.c \
517517
libarchive/test/test_read_format_lha_filename.c \
518518
libarchive/test/test_read_format_lha_filename_utf16.c \
519+
libarchive/test/test_read_format_lha_oversize_header.c \
519520
libarchive/test/test_read_format_mtree.c \
520521
libarchive/test/test_read_format_mtree_crash747.c \
521522
libarchive/test/test_read_format_pax_bz2.c \
@@ -528,6 +529,7 @@ libarchive_test_SOURCES= \
528529
libarchive/test/test_read_format_rar_invalid1.c \
529530
libarchive/test/test_read_format_rar_overflow.c \
530531
libarchive/test/test_read_format_rar5.c \
532+
libarchive/test/test_read_format_rar5_loop_bug.c \
531533
libarchive/test/test_read_format_raw.c \
532534
libarchive/test/test_read_format_tar.c \
533535
libarchive/test/test_read_format_tar_V_negative_size.c \
@@ -829,9 +831,11 @@ libarchive_test_EXTRA_DIST=\
829831
libarchive/test/test_read_format_7zip_lzma2_sparc.7z.uu \
830832
libarchive/test/test_read_format_7zip_malformed.7z.uu \
831833
libarchive/test/test_read_format_7zip_malformed2.7z.uu \
834+
libarchive/test/test_read_format_7zip_malformed3.7z.uu \
832835
libarchive/test/test_read_format_7zip_packinfo_digests.7z.uu \
833836
libarchive/test/test_read_format_7zip_ppmd.7z.uu \
834837
libarchive/test/test_read_format_7zip_sfx_elf.elf.uu \
838+
libarchive/test/test_read_format_7zip_sfx_elf64trunc.elf.uu \
835839
libarchive/test/test_read_format_7zip_sfx_modified_pe.exe.uu \
836840
libarchive/test/test_read_format_7zip_sfx_pe.exe.uu \
837841
libarchive/test/test_read_format_7zip_solid_zstd.7z.uu \
@@ -893,6 +897,7 @@ libarchive_test_EXTRA_DIST=\
893897
libarchive/test/test_read_format_lha_lh0.lzh.uu \
894898
libarchive/test/test_read_format_lha_lh6.lzh.uu \
895899
libarchive/test/test_read_format_lha_lh7.lzh.uu \
900+
libarchive/test/test_read_format_lha_oversize_header.lzh.uu \
896901
libarchive/test/test_read_format_lha_withjunk.lzh.uu \
897902
libarchive/test/test_read_format_mtree.mtree.uu \
898903
libarchive/test/test_read_format_mtree_nomagic.mtree.uu \
@@ -947,6 +952,7 @@ libarchive_test_EXTRA_DIST=\
947952
libarchive/test/test_read_format_rar5_invalid_dict_reference.rar.uu \
948953
libarchive/test/test_read_format_rar5_leftshift1.rar.uu \
949954
libarchive/test/test_read_format_rar5_leftshift2.rar.uu \
955+
libarchive/test/test_read_format_rar5_loop_bug.rar.uu \
950956
libarchive/test/test_read_format_rar5_multiarchive.part01.rar.uu \
951957
libarchive/test/test_read_format_rar5_multiarchive.part02.rar.uu \
952958
libarchive/test/test_read_format_rar5_multiarchive.part03.rar.uu \

archivers/libarchive/files/Makefile.in

Lines changed: 52 additions & 0 deletions
Large diffs are not rendered by default.

archivers/libarchive/files/NEWS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
Mar 10, 2026: libarchive 3.8.6 released
2+
13
Jan 05, 2026: libarchive 3.8.5 released
24

35
Dec 01, 2025: libarchive 3.8.4 released

archivers/libarchive/files/build/cmake/config.h.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -642,6 +642,9 @@ typedef uint64_t uintmax_t;
642642
/* Define to 1 if you have the `getea' function. */
643643
#cmakedefine HAVE_GETEA 1
644644

645+
/* Define to 1 if you have the `getegid' function. */
646+
#cmakedefine HAVE_GETEGID 1
647+
645648
/* Define to 1 if you have the `geteuid' function. */
646649
#cmakedefine HAVE_GETEUID 1
647650

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3008005
1+
3008006

archivers/libarchive/files/configure

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#! /bin/sh
22
# Guess values for system-dependent variables and create Makefiles.
3-
# Generated by GNU Autoconf 2.72 for libarchive 3.8.5.
3+
# Generated by GNU Autoconf 2.72 for libarchive 3.8.6.
44
#
55
# Report bugs to <libarchive-discuss@googlegroups.com>.
66
#
@@ -614,8 +614,8 @@ MAKEFLAGS=
614614
# Identity of this package.
615615
PACKAGE_NAME='libarchive'
616616
PACKAGE_TARNAME='libarchive'
617-
PACKAGE_VERSION='3.8.5'
618-
PACKAGE_STRING='libarchive 3.8.5'
617+
PACKAGE_VERSION='3.8.6'
618+
PACKAGE_STRING='libarchive 3.8.6'
619619
PACKAGE_BUGREPORT='libarchive-discuss@googlegroups.com'
620620
PACKAGE_URL=''
621621

@@ -1442,7 +1442,7 @@ if test "$ac_init_help" = "long"; then
14421442
# Omit some internal or obsolete options to make the list less imposing.
14431443
# This message is too long to be a string in the A/UX 3.1 sh.
14441444
cat <<_ACEOF
1445-
'configure' configures libarchive 3.8.5 to adapt to many kinds of systems.
1445+
'configure' configures libarchive 3.8.6 to adapt to many kinds of systems.
14461446

14471447
Usage: $0 [OPTION]... [VAR=VALUE]...
14481448

@@ -1513,7 +1513,7 @@ fi
15131513

15141514
if test -n "$ac_init_help"; then
15151515
case $ac_init_help in
1516-
short | recursive ) echo "Configuration of libarchive 3.8.5:";;
1516+
short | recursive ) echo "Configuration of libarchive 3.8.6:";;
15171517
esac
15181518
cat <<\_ACEOF
15191519

@@ -1698,7 +1698,7 @@ fi
16981698
test -n "$ac_init_help" && exit $ac_status
16991699
if $ac_init_version; then
17001700
cat <<\_ACEOF
1701-
libarchive configure 3.8.5
1701+
libarchive configure 3.8.6
17021702
generated by GNU Autoconf 2.72
17031703

17041704
Copyright (C) 2023 Free Software Foundation, Inc.
@@ -2518,7 +2518,7 @@ cat >config.log <<_ACEOF
25182518
This file contains any messages produced by compilers while
25192519
running configure, to aid debugging if configure makes a mistake.
25202520

2521-
It was created by libarchive $as_me 3.8.5, which was
2521+
It was created by libarchive $as_me 3.8.6, which was
25222522
generated by GNU Autoconf 2.72. Invocation command line was
25232523

25242524
$ $0$ac_configure_args_raw
@@ -4002,7 +4002,7 @@ fi
40024002

40034003
# Define the identity of the package.
40044004
PACKAGE='libarchive'
4005-
VERSION='3.8.5'
4005+
VERSION='3.8.6'
40064006

40074007

40084008
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -4099,15 +4099,15 @@ AM_DEFAULT_VERBOSITY=0
40994099

41004100
# Libtool interface version bumps on any API change, so increments
41014101
# whenever libarchive minor version does.
4102-
ARCHIVE_MINOR=$(( (3008005 / 1000) % 1000 ))
4102+
ARCHIVE_MINOR=$(( (3008006 / 1000) % 1000 ))
41034103
# Libarchive 2.7 == libtool interface 9 = 2 + 7
41044104
# Libarchive 2.8 == libtool interface 10 = 2 + 8
41054105
# Libarchive 2.9 == libtool interface 11 = 2 + 9
41064106
# Libarchive 3.0 == libtool interface 12
41074107
# Libarchive 3.1 == libtool interface 13
41084108
ARCHIVE_INTERFACE=`echo $((13 + ${ARCHIVE_MINOR}))`
41094109
# Libarchive revision is bumped on any source change === libtool revision
4110-
ARCHIVE_REVISION=$(( 3008005 % 1000 ))
4110+
ARCHIVE_REVISION=$(( 3008006 % 1000 ))
41114111
# Libarchive minor is bumped on any interface addition === libtool age
41124112
ARCHIVE_LIBTOOL_VERSION=$ARCHIVE_INTERFACE:$ARCHIVE_REVISION:$ARCHIVE_MINOR
41134113

@@ -4116,33 +4116,33 @@ ARCHIVE_LIBTOOL_VERSION=$ARCHIVE_INTERFACE:$ARCHIVE_REVISION:$ARCHIVE_MINOR
41164116
printf "%s\n" "#define __LIBARCHIVE_CONFIG_H_INCLUDED 1" >>confdefs.h
41174117

41184118

4119-
printf "%s\n" "#define LIBARCHIVE_VERSION_STRING \"3.8.5\"" >>confdefs.h
4119+
printf "%s\n" "#define LIBARCHIVE_VERSION_STRING \"3.8.6\"" >>confdefs.h
41204120

41214121

4122-
printf "%s\n" "#define LIBARCHIVE_VERSION_NUMBER \"3008005\"" >>confdefs.h
4122+
printf "%s\n" "#define LIBARCHIVE_VERSION_NUMBER \"3008006\"" >>confdefs.h
41234123

41244124

4125-
printf "%s\n" "#define BSDCPIO_VERSION_STRING \"3.8.5\"" >>confdefs.h
4125+
printf "%s\n" "#define BSDCPIO_VERSION_STRING \"3.8.6\"" >>confdefs.h
41264126

41274127

4128-
printf "%s\n" "#define BSDTAR_VERSION_STRING \"3.8.5\"" >>confdefs.h
4128+
printf "%s\n" "#define BSDTAR_VERSION_STRING \"3.8.6\"" >>confdefs.h
41294129

41304130

4131-
printf "%s\n" "#define BSDCAT_VERSION_STRING \"3.8.5\"" >>confdefs.h
4131+
printf "%s\n" "#define BSDCAT_VERSION_STRING \"3.8.6\"" >>confdefs.h
41324132

41334133

4134-
printf "%s\n" "#define BSDUNZIP_VERSION_STRING \"3.8.5\"" >>confdefs.h
4134+
printf "%s\n" "#define BSDUNZIP_VERSION_STRING \"3.8.6\"" >>confdefs.h
41354135

41364136

41374137
# The shell variables here must be the same as the AC_SUBST() variables
41384138
# below, but the shell variable names apparently cannot be the same as
41394139
# the m4 macro names above. Why? Ask autoconf.
4140-
BSDCPIO_VERSION_STRING=3.8.5
4141-
BSDTAR_VERSION_STRING=3.8.5
4142-
BSDCAT_VERSION_STRING=3.8.5
4143-
BSDUNZIP_VERSION_STRING=3.8.5
4144-
LIBARCHIVE_VERSION_STRING=3.8.5
4145-
LIBARCHIVE_VERSION_NUMBER=3008005
4140+
BSDCPIO_VERSION_STRING=3.8.6
4141+
BSDTAR_VERSION_STRING=3.8.6
4142+
BSDCAT_VERSION_STRING=3.8.6
4143+
BSDUNZIP_VERSION_STRING=3.8.6
4144+
LIBARCHIVE_VERSION_STRING=3.8.6
4145+
LIBARCHIVE_VERSION_NUMBER=3008006
41464146

41474147
# Substitute the above version numbers into the various files below.
41484148
# Yes, I believe this is the fourth time we define what are essentially
@@ -26364,7 +26364,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
2636426364
# report actual input values of CONFIG_FILES etc. instead of their
2636526365
# values after options handling.
2636626366
ac_log="
26367-
This file was extended by libarchive $as_me 3.8.5, which was
26367+
This file was extended by libarchive $as_me 3.8.6, which was
2636826368
generated by GNU Autoconf 2.72. Invocation command line was
2636926369

2637026370
CONFIG_FILES = $CONFIG_FILES
@@ -26432,7 +26432,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
2643226432
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
2643326433
ac_cs_config='$ac_cs_config_escaped'
2643426434
ac_cs_version="\\
26435-
libarchive config.status 3.8.5
26435+
libarchive config.status 3.8.6
2643626436
configured by $0, generated by GNU Autoconf 2.72,
2643726437
with options \\"\$ac_cs_config\\"
2643826438

archivers/libarchive/files/configure.ac

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ dnl First, define all of the version numbers up front.
44
dnl In particular, this allows the version macro to be used in AC_INIT
55

66
dnl These first two version numbers are updated automatically on each release.
7-
m4_define([LIBARCHIVE_VERSION_S],[3.8.5])
8-
m4_define([LIBARCHIVE_VERSION_N],[3008005])
7+
m4_define([LIBARCHIVE_VERSION_S],[3.8.6])
8+
m4_define([LIBARCHIVE_VERSION_N],[3008006])
99

1010
dnl bsdtar and bsdcpio versioning tracks libarchive
1111
m4_define([BSDTAR_VERSION_S],LIBARCHIVE_VERSION_S())

archivers/libarchive/files/cpio/test/test_format_newc.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@
66
*/
77
#include "test.h"
88

9+
#ifdef HAVE_GETEUID
10+
#define getuid() geteuid()
11+
#endif
12+
#ifdef HAVE_GETEGID
13+
#define getgid() getegid()
14+
#endif
15+
916
/* Number of bytes needed to pad 'n' to multiple of 'block', assuming
1017
* that 'block' is a power of two. This trick can be more easily
1118
* remembered as -n & (block - 1), but many compilers quite reasonably

archivers/libarchive/files/doc/html/archive_entry.3.html

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)