archivers/libarchive: update to 3.6.2

This commit is contained in:
naddy 2022-12-11 21:41:16 +00:00
parent 6fbfce18fc
commit b4a6d343b6
4 changed files with 5 additions and 62 deletions

View File

@ -1,8 +1,7 @@
COMMENT= multi-format archive and compression library
DISTNAME= libarchive-3.6.1
REVISION= 0
SHARED_LIBS= archive 12.0 # 19.1
DISTNAME= libarchive-3.6.2
SHARED_LIBS= archive 13.0 # 19.2
CATEGORIES= archivers
HOMEPAGE= https://www.libarchive.org/
@ -14,7 +13,7 @@ PERMIT_PACKAGE= Yes
MASTER_SITES= https://www.libarchive.org/downloads/
EXTRACT_SUFX= .tar.xz
WANTLIB= b2 bz2 c charset crypto expat iconv lz4 lzma pthread z zstd
WANTLIB= b2 bz2 c crypto expat iconv lz4 lzma pthread z zstd
LIB_DEPENDS= archivers/bzip2 \
archivers/lz4 \
archivers/xz \

View File

@ -1,2 +1,2 @@
SHA256 (libarchive-3.6.1.tar.xz) = WkEazrl49D5ibwwtGBLd2IB7ZF7YkkU6yr1TI3bBSOY=
SIZE (libarchive-3.6.1.tar.xz) = 5241148
SHA256 (libarchive-3.6.2.tar.xz) = niwbgNX75ZthMI/fq2x5tQIdf/T/JIn7EtrwqWqDVR0=
SIZE (libarchive-3.6.2.tar.xz) = 5213196

View File

@ -1,28 +0,0 @@
Validate entry_bytes_remaining in pax_attribute
https://github.com/libarchive/libarchive/commit/fc8c6d2786
Index: libarchive/archive_read_support_format_tar.c
--- libarchive/archive_read_support_format_tar.c.orig
+++ libarchive/archive_read_support_format_tar.c
@@ -2108,6 +2108,21 @@ pax_attribute(struct archive_read *a, struct tar *tar,
/* "size" is the size of the data in the entry. */
tar->entry_bytes_remaining
= tar_atol10(value, strlen(value));
+ if (tar->entry_bytes_remaining < 0) {
+ tar->entry_bytes_remaining = 0;
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_MISC,
+ "Tar size attribute is negative");
+ return (ARCHIVE_FATAL);
+ }
+ if (tar->entry_bytes_remaining == INT64_MAX) {
+ /* Note: tar_atol returns INT64_MAX on overflow */
+ tar->entry_bytes_remaining = 0;
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_MISC,
+ "Tar size attribute overflow");
+ return (ARCHIVE_FATAL);
+ }
/*
* The "size" pax header keyword always overrides the
* "size" field in the tar header.

View File

@ -1,28 +0,0 @@
Handle a `calloc` returning NULL
https://github.com/libarchive/libarchive/commit/fd180c3603
Index: libarchive/archive_write.c
--- libarchive/archive_write.c.orig
+++ libarchive/archive_write.c
@@ -201,6 +201,10 @@ __archive_write_allocate_filter(struct archive *_a)
struct archive_write_filter *f;
f = calloc(1, sizeof(*f));
+
+ if (f == NULL)
+ return (NULL);
+
f->archive = _a;
f->state = ARCHIVE_WRITE_FILTER_STATE_NEW;
if (a->filter_first == NULL)
@@ -548,6 +552,10 @@ archive_write_open2(struct archive *_a, void *client_d
a->client_data = client_data;
client_filter = __archive_write_allocate_filter(_a);
+
+ if (client_filter == NULL)
+ return (ARCHIVE_FATAL);
+
client_filter->open = archive_write_client_open;
client_filter->write = archive_write_client_write;
client_filter->close = archive_write_client_close;