Merged update from upstream sources
This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/tar.git#6676fcde24a2660172aa132763d2fbf68d51e6a6
This commit is contained in:
parent
f2397801d3
commit
28c7995861
4
sources
4
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (tar-1.33.tar.xz) = d7c31147fafcd815bb54e3862c078dccc3f192a9fa149c2275bd89a21fcd54a4bdaa8343cacf4f76cadc2f57fd4ed955682c1b6f23d438add5a13cc35bd25260
|
||||
SHA512 (tar-1.33.tar.xz.sig) = a8801b2a7bb135a12d7944dff6958c4ff5671e379682593eed93569220d41fbe58eb095b80c4b04d97e4b5244aabab0cc7a0b65251ab115925ef3391a292c146
|
||||
SHA512 (tar-1.34.tar.xz) = 5e77c4a7b49983ad7d15238c2bce28be7a8aa437b4b1815fc00abd13096da308b6bba196cc6e3ed79d85e62823d520ae0d8fcda2d93873842cf84dc3369fc902
|
||||
SHA512 (tar-1.34.tar.xz.sig) = 55297f41549deee511f5b14c6b5dc7bb3d9282dad52bcc85f9dddfad24b677f989ba86387ad9b133c3698feedbd6b6cd7e9f005e8e4c89f72c80543eeceb78f7
|
||||
|
@ -1,8 +1,6 @@
|
||||
From: Pavel Raiskup <praiskup@redhat.com>
|
||||
Date: Tue, 19 Jan 2021 16:45:23 +0100
|
||||
Subject: [PATCH] xattrs: fix capabilities root test
|
||||
|
||||
Related discussion in the Fedora pull-request:
|
||||
Date: Tue, 16 Feb 2021 08:10:22 +0100
|
||||
Subject: [PATCH] Related discussion in the Fedora pull-request:
|
||||
https://src.fedoraproject.org/rpms/tar/pull-request/8
|
||||
|
||||
Upstream report:
|
||||
@ -11,29 +9,26 @@ https://www.mail-archive.com/bug-tar@gnu.org/msg05943.html
|
||||
* tests/capabs_raw01.at: Newer systems (currently e.g. Fedora 34)
|
||||
print getcap output in format CAP=VAL, not CAP+VAL.
|
||||
---
|
||||
tests/capabs_raw01.at | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
tests/capabs_raw01.at | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tests/capabs_raw01.at b/tests/capabs_raw01.at
|
||||
index f9b97736..988251cf 100644
|
||||
index a1d9411..d3da923 100644
|
||||
--- a/tests/capabs_raw01.at
|
||||
+++ b/tests/capabs_raw01.at
|
||||
@@ -44,10 +44,13 @@ rm -rf dir
|
||||
# restore _all_ xattrs (not just the user.* domain)
|
||||
@@ -45,10 +45,10 @@ rm -rf dir
|
||||
tar --xattrs --xattrs-include='*' -xf archive.tar
|
||||
|
||||
-getcap dir/file
|
||||
+# Newer systems switched to different format:
|
||||
+# - dir/file = cap_chown+ei
|
||||
+# + dir/file cap_chown=ei
|
||||
# Newer systems print = instead of + here
|
||||
-getcap dir/file | sed 's/+/=/'
|
||||
+getcap dir/file | sed -e 's/+/=/' -e 's|dir/file = |dir/file |'
|
||||
],
|
||||
[0],
|
||||
-[dir/file = cap_chown+ei
|
||||
-[dir/file = cap_chown=ei
|
||||
+[dir/file cap_chown=ei
|
||||
])
|
||||
|
||||
AT_CLEANUP
|
||||
--
|
||||
2.29.2
|
||||
2.26.0
|
||||
|
||||
|
@ -1,122 +0,0 @@
|
||||
From: Sergey Poznyakoff <gray@gnu.org>
|
||||
Subject: [PATCH] Bug reported in https://savannah.gnu.org/bugs/?59897
|
||||
|
||||
* src/list.c (read_header): Don't return directly from the loop.
|
||||
Instead set the status and break. Return the status. Free
|
||||
next_long_name and next_long_link before returning.
|
||||
---
|
||||
src/list.c | 38 +++++++++++++++++++++++++++-----------
|
||||
1 file changed, 27 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/src/list.c b/src/list.c
|
||||
index 95b53f8..6ad2ef2 100644
|
||||
--- a/src/list.c
|
||||
+++ b/src/list.c
|
||||
@@ -419,26 +419,27 @@ read_header (union block **return_block, struct tar_stat_info *info,
|
||||
enum read_header_mode mode)
|
||||
{
|
||||
union block *header;
|
||||
- union block *header_copy;
|
||||
char *bp;
|
||||
union block *data_block;
|
||||
size_t size, written;
|
||||
- union block *next_long_name = 0;
|
||||
- union block *next_long_link = 0;
|
||||
+ union block *next_long_name = NULL;
|
||||
+ union block *next_long_link = NULL;
|
||||
size_t next_long_name_blocks = 0;
|
||||
size_t next_long_link_blocks = 0;
|
||||
+ enum read_header status = HEADER_SUCCESS;
|
||||
|
||||
while (1)
|
||||
{
|
||||
- enum read_header status;
|
||||
-
|
||||
header = find_next_block ();
|
||||
*return_block = header;
|
||||
if (!header)
|
||||
- return HEADER_END_OF_FILE;
|
||||
+ {
|
||||
+ status = HEADER_END_OF_FILE;
|
||||
+ break;
|
||||
+ }
|
||||
|
||||
if ((status = tar_checksum (header, false)) != HEADER_SUCCESS)
|
||||
- return status;
|
||||
+ break;
|
||||
|
||||
/* Good block. Decode file size and return. */
|
||||
|
||||
@@ -448,7 +449,10 @@ read_header (union block **return_block, struct tar_stat_info *info,
|
||||
{
|
||||
info->stat.st_size = OFF_FROM_HEADER (header->header.size);
|
||||
if (info->stat.st_size < 0)
|
||||
- return HEADER_FAILURE;
|
||||
+ {
|
||||
+ status = HEADER_FAILURE;
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
|
||||
if (header->header.typeflag == GNUTYPE_LONGNAME
|
||||
@@ -458,10 +462,14 @@ read_header (union block **return_block, struct tar_stat_info *info,
|
||||
|| header->header.typeflag == SOLARIS_XHDTYPE)
|
||||
{
|
||||
if (mode == read_header_x_raw)
|
||||
- return HEADER_SUCCESS_EXTENDED;
|
||||
+ {
|
||||
+ status = HEADER_SUCCESS_EXTENDED;
|
||||
+ break;
|
||||
+ }
|
||||
else if (header->header.typeflag == GNUTYPE_LONGNAME
|
||||
|| header->header.typeflag == GNUTYPE_LONGLINK)
|
||||
{
|
||||
+ union block *header_copy;
|
||||
size_t name_size = info->stat.st_size;
|
||||
size_t n = name_size % BLOCKSIZE;
|
||||
size = name_size + BLOCKSIZE;
|
||||
@@ -528,7 +536,10 @@ read_header (union block **return_block, struct tar_stat_info *info,
|
||||
xheader_decode_global (&xhdr);
|
||||
xheader_destroy (&xhdr);
|
||||
if (mode == read_header_x_global)
|
||||
- return HEADER_SUCCESS_EXTENDED;
|
||||
+ {
|
||||
+ status = HEADER_SUCCESS_EXTENDED;
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
|
||||
/* Loop! */
|
||||
@@ -547,6 +558,7 @@ read_header (union block **return_block, struct tar_stat_info *info,
|
||||
name = next_long_name->buffer + BLOCKSIZE;
|
||||
recent_long_name = next_long_name;
|
||||
recent_long_name_blocks = next_long_name_blocks;
|
||||
+ next_long_name = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -578,6 +590,7 @@ read_header (union block **return_block, struct tar_stat_info *info,
|
||||
name = next_long_link->buffer + BLOCKSIZE;
|
||||
recent_long_link = next_long_link;
|
||||
recent_long_link_blocks = next_long_link_blocks;
|
||||
+ next_long_link = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -589,9 +602,12 @@ read_header (union block **return_block, struct tar_stat_info *info,
|
||||
}
|
||||
assign_string (&info->link_name, name);
|
||||
|
||||
- return HEADER_SUCCESS;
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
+ free (next_long_name);
|
||||
+ free (next_long_link);
|
||||
+ return status;
|
||||
}
|
||||
|
||||
#define ISOCTAL(c) ((c)>='0'&&(c)<='7')
|
||||
--
|
||||
2.26.0
|
||||
|
8
tar.spec
8
tar.spec
@ -4,8 +4,8 @@
|
||||
Summary: GNU file archiving program
|
||||
Name: tar
|
||||
Epoch: 2
|
||||
Version: 1.33
|
||||
Release: 3%{?dist}
|
||||
Version: 1.34
|
||||
Release: 1%{?dist}
|
||||
License: GPLv3+
|
||||
URL: https://www.gnu.org/software/tar/
|
||||
|
||||
@ -19,7 +19,6 @@ Patch3: tar-1.29-wildcards.patch
|
||||
Patch4: tar-1.28-atime-rofs.patch
|
||||
Patch9: tar-1.28-document-exclude-mistakes.patch
|
||||
Patch10: tar-1.33-fix-capabilities-test.patch
|
||||
Patch11: tar-1.33-fix-read-header-mem-leak.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc
|
||||
@ -114,6 +113,9 @@ make check || (
|
||||
|
||||
|
||||
%changelog
|
||||
* Sat Feb 13 2021 Ondrej Dubaj <odubaj@redhat.com> - 1.34-1
|
||||
- Rebase to version 1.34
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.33-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user