diff options
author | Martin Matuska <mm@FreeBSD.org> | 2020-12-16 22:25:40 +0000 |
---|---|---|
committer | Martin Matuska <mm@FreeBSD.org> | 2020-12-16 22:25:40 +0000 |
commit | 3ad46d07830bba44c479e2d19ce376212e52e9af (patch) | |
tree | dbd7e07db590bf11512996d9378557237a293e39 /contrib/libarchive/libarchive/archive_util.c | |
parent | e61d354b85d80126c4833746c22f320c31b68a2b (diff) | |
download | src-test2-3ad46d07830bba44c479e2d19ce376212e52e9af.tar.gz src-test2-3ad46d07830bba44c479e2d19ce376212e52e9af.zip |
MFC r368207,368607:stable/10
MFC r368207:
Update libarchive to 3.5.0
Relevant vendor changes:
Issue #1258: add archive_read_support_filter_by_code()
PR #1347: mtree digest reader support
Issue #1381: skip hardlinks pointing to itself on extraction
PR #1387: fix writing of cpio archives with hardlinks without file type
PR #1388: fix rdev field in cpio format for device nodes
PR #1389: completed support for UTF-8 encoding conversion
PR #1405: more formats in archive_read_support_format_by_code()
PR #1408: fix uninitialized size in rar5_read_data
PR #1409: system extended attribute support
PR #1435: support for decompression of symbolic links in zipx archives
Issue #1456: memory leak after unsuccessful archive_write_open_filename
MFC r368607:
Sync libarchive with vendor.
Vendor changes:
Issue #1461: Unbreak build without lzma
Issue #1462: warc reader: Fix build with gcc11
Issue #1463: Fix code compatibility in test_archive_read_support.c
Issue #1464: Use built-in strnlen on platforms where not available
Issue #1465: warc reader: fix undefined behaviour in deconst() function
Notes
Notes:
svn path=/stable/10/; revision=368708
Diffstat (limited to 'contrib/libarchive/libarchive/archive_util.c')
-rw-r--r-- | contrib/libarchive/libarchive/archive_util.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/contrib/libarchive/libarchive/archive_util.c b/contrib/libarchive/libarchive/archive_util.c index 037e63427ebe..086e85d9df8e 100644 --- a/contrib/libarchive/libarchive/archive_util.c +++ b/contrib/libarchive/libarchive/archive_util.c @@ -433,6 +433,11 @@ __archive_mktemp(const char *tmpdir) if (temp_name.s[temp_name.length-1] != '/') archive_strappend_char(&temp_name, '/'); } +#ifdef O_TMPFILE + fd = open(temp_name.s, O_RDWR|O_CLOEXEC|O_TMPFILE|O_EXCL, 0600); + if(fd >= 0) + goto exit_tmpfile; +#endif archive_strcat(&temp_name, "libarchive_XXXXXX"); fd = mkstemp(temp_name.s); if (fd < 0) |