From bade279b8106e9d4166ef2430b4bdbcf17be9953 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Sun, 31 Mar 2024 10:37:38 -0400 Subject: [PATCH] tar: make error reporting more robust and use correct errno Apply upstream pull request 2101. (cherry picked from commit d68c68693e110353f70b5c04f8de416cf5766eca) --- contrib/libarchive/tar/read.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/contrib/libarchive/tar/read.c b/contrib/libarchive/tar/read.c index 2a907518d7c..94616f279e6 100644 --- a/contrib/libarchive/tar/read.c +++ b/contrib/libarchive/tar/read.c @@ -372,8 +372,9 @@ read_archive(struct bsdtar *bsdtar, char mode, struct archive *writer) if (r != ARCHIVE_OK) { if (!bsdtar->verbose) safe_fprintf(stderr, "%s", archive_entry_pathname(entry)); - fprintf(stderr, ": %s: ", archive_error_string(a)); - fprintf(stderr, "%s", strerror(errno)); + safe_fprintf(stderr, ": %s: %s", + archive_error_string(a), + strerror(archive_errno(a))); if (!bsdtar->verbose) fprintf(stderr, "\n"); bsdtar->return_value = 1;