]> git.ipfire.org Git - thirdparty/libarchive.git/commit
Ignore ustar size when pax size is present (#2405)
authorTim Kientzle <kientzle@acm.org>
Wed, 6 Nov 2024 21:21:54 +0000 (13:21 -0800)
committerGitHub <noreply@github.com>
Wed, 6 Nov 2024 21:21:54 +0000 (22:21 +0100)
commitd60f3ea1b3bfd9f1dcd4040de9fca53fbedd829a
treecd8e0fa2e33c9c420a7187f810d21dccaf65c7ae
parent974b59113d595c1b7babcfbc1f16341e49400aad
Ignore ustar size when pax size is present (#2405)

When the pax `size` field is present, we should ignore the size value in
the ustar header. In particular, this fixes reading pax archives created
by GNU tar with entries larger than 8GB.

Note: This doesn't impact reading pax archives created by libarchive
because libarchive uses tar extensions to store an accurate large size
field in the ustar header. GNU tar instead strictly follows ustar in
this case, which prevents it from storing accurate sizes in the ustar
header.

Resolves #2404
Makefile.am
libarchive/archive_read_support_format_tar.c
libarchive/test/CMakeLists.txt
libarchive/test/test_compat_gtar_large.c [new file with mode: 0644]