Update vendor/libarchive to git 2a2488a81599f9cd065a8254b16a6fd48d81c3b4
Vendor bugfixes: PR #843: Fix memory leak of struct archive_entry in cpio/cpio.c PR #851: Spelling fixes Fix two protoypes in manual page archive_read_disk.3
This commit is contained in:
parent
f4f3d10eda
commit
461f70f4eb
@ -703,6 +703,7 @@ file_to_archive(struct cpio *cpio, const char *srcpath)
|
||||
lafe_warnc(0, "%s",
|
||||
archive_error_string(cpio->archive_read_disk));
|
||||
if (r <= ARCHIVE_FAILED) {
|
||||
archive_entry_free(entry);
|
||||
cpio->return_value = 1;
|
||||
return (r);
|
||||
}
|
||||
|
@ -471,7 +471,7 @@ archive_match_path_excluded(struct archive *_a,
|
||||
}
|
||||
|
||||
/*
|
||||
* Utilty functions to get statistic information for inclusion patterns.
|
||||
* Utility functions to get statistic information for inclusion patterns.
|
||||
*/
|
||||
int
|
||||
archive_match_path_unmatched_inclusions(struct archive *_a)
|
||||
@ -1270,7 +1270,7 @@ set_timefilter_pathname_wcs(struct archive_match *a, int timetype,
|
||||
#endif /* _WIN32 && !__CYGWIN__ */
|
||||
|
||||
/*
|
||||
* Call back funtions for archive_rb.
|
||||
* Call back functions for archive_rb.
|
||||
*/
|
||||
static int
|
||||
cmp_node_mbs(const struct archive_rb_node *n1,
|
||||
@ -1405,7 +1405,7 @@ add_entry(struct archive_match *a, int flag,
|
||||
&(a->exclusion_tree), pathname);
|
||||
|
||||
/*
|
||||
* We always overwrite comparison condision.
|
||||
* We always overwrite comparison condition.
|
||||
* If you do not want to overwrite it, you should not
|
||||
* call archive_match_exclude_entry(). We cannot know
|
||||
* what behavior you really expect since overwriting
|
||||
@ -1481,7 +1481,7 @@ time_excluded(struct archive_match *a, struct archive_entry *entry)
|
||||
if (nsec == a->older_ctime_nsec &&
|
||||
(a->older_ctime_filter & ARCHIVE_MATCH_EQUAL)
|
||||
== 0)
|
||||
return (1); /* Eeual, skip it. */
|
||||
return (1); /* Equal, skip it. */
|
||||
}
|
||||
}
|
||||
if (a->newer_mtime_filter) {
|
||||
@ -1513,7 +1513,7 @@ time_excluded(struct archive_match *a, struct archive_entry *entry)
|
||||
}
|
||||
}
|
||||
|
||||
/* If there is no excluson list, include the file. */
|
||||
/* If there is no exclusion list, include the file. */
|
||||
if (a->exclusion_entry_list.count == 0)
|
||||
return (0);
|
||||
|
||||
@ -1700,7 +1700,7 @@ add_owner_id(struct archive_match *a, struct id_array *ids, int64_t id)
|
||||
break;
|
||||
}
|
||||
|
||||
/* Add oowner id. */
|
||||
/* Add owner id. */
|
||||
if (i == ids->count)
|
||||
ids->ids[ids->count++] = id;
|
||||
else if (ids->ids[i] != id) {
|
||||
|
@ -312,7 +312,7 @@ __archive_rb_tree_insert_rebalance(struct archive_rb_tree *rbt,
|
||||
father = RB_FATHER(self);
|
||||
if (RB_BLACK_P(father)) {
|
||||
/*
|
||||
* If our greatgrandpa is black, we're done.
|
||||
* If our great-grandpa is black, we're done.
|
||||
*/
|
||||
return;
|
||||
}
|
||||
|
@ -24,7 +24,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd February 2, 2012
|
||||
.Dd December 30, 2016
|
||||
.Dt ARCHIVE_READ_DISK 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -54,9 +54,9 @@ Streaming Archive Library (libarchive, -larchive)
|
||||
.Fn archive_read_disk_set_symlink_physical "struct archive *"
|
||||
.Ft int
|
||||
.Fn archive_read_disk_set_symlink_hybrid "struct archive *"
|
||||
.Ft int
|
||||
.Ft const char *
|
||||
.Fn archive_read_disk_gname "struct archive *" "gid_t"
|
||||
.Ft int
|
||||
.Ft const char *
|
||||
.Fn archive_read_disk_uname "struct archive *" "uid_t"
|
||||
.Ft int
|
||||
.Fo archive_read_disk_set_gname_lookup
|
||||
|
@ -374,7 +374,7 @@ struct iso9660 {
|
||||
size_t utf16be_path_len;
|
||||
unsigned char *utf16be_previous_path;
|
||||
size_t utf16be_previous_path_len;
|
||||
/* Null buufer used in bidder to improve its performance. */
|
||||
/* Null buffer used in bidder to improve its performance. */
|
||||
unsigned char null[2048];
|
||||
};
|
||||
|
||||
@ -1199,7 +1199,7 @@ archive_read_format_iso9660_read_header(struct archive_read *a,
|
||||
archive_string_conversion_from_charset(
|
||||
&(a->archive), "UTF-16BE", 1);
|
||||
if (iso9660->sconv_utf16be == NULL)
|
||||
/* Coundn't allocate memory */
|
||||
/* Couldn't allocate memory */
|
||||
return (ARCHIVE_FATAL);
|
||||
}
|
||||
if (iso9660->utf16be_path == NULL) {
|
||||
@ -2407,7 +2407,7 @@ read_CE(struct archive_read *a, struct iso9660 *iso9660)
|
||||
return (ARCHIVE_FATAL);
|
||||
} while (heap->cnt &&
|
||||
heap->reqs[0].offset == iso9660->current_position);
|
||||
/* NOTE: Do not move this consume's code to fron of
|
||||
/* NOTE: Do not move this consume's code to front of
|
||||
* do-while loop. Registration of nested CE extension
|
||||
* might cause error because of current position. */
|
||||
__archive_read_consume(a, step);
|
||||
@ -2729,7 +2729,7 @@ next_cache_entry(struct archive_read *a, struct iso9660 *iso9660,
|
||||
if (file == NULL) {
|
||||
/*
|
||||
* If directory entries all which are descendant of
|
||||
* rr_moved are stil remaning, expose their.
|
||||
* rr_moved are still remaining, expose their.
|
||||
*/
|
||||
if (iso9660->re_files.first != NULL &&
|
||||
iso9660->rr_moved != NULL &&
|
||||
@ -2852,7 +2852,7 @@ next_cache_entry(struct archive_read *a, struct iso9660 *iso9660,
|
||||
empty_files.last = &empty_files.first;
|
||||
/* Collect files which has the same file serial number.
|
||||
* Peek pending_files so that file which number is different
|
||||
* is not put bak. */
|
||||
* is not put back. */
|
||||
while (iso9660->pending_files.used > 0 &&
|
||||
(iso9660->pending_files.files[0]->number == -1 ||
|
||||
iso9660->pending_files.files[0]->number == number)) {
|
||||
@ -2860,7 +2860,7 @@ next_cache_entry(struct archive_read *a, struct iso9660 *iso9660,
|
||||
/* This file has the same offset
|
||||
* but it's wrong offset which empty files
|
||||
* and symlink files have.
|
||||
* NOTE: This wrong offse was recorded by
|
||||
* NOTE: This wrong offset was recorded by
|
||||
* old mkisofs utility. If ISO images is
|
||||
* created by latest mkisofs, this does not
|
||||
* happen.
|
||||
|
@ -308,7 +308,7 @@ struct archive_write_disk {
|
||||
#define MAXIMUM_DIR_MODE 0775
|
||||
|
||||
/*
|
||||
* Maxinum uncompressed size of a decmpfs block.
|
||||
* Maximum uncompressed size of a decmpfs block.
|
||||
*/
|
||||
#define MAX_DECMPFS_BLOCK_SIZE (64 * 1024)
|
||||
/*
|
||||
@ -323,7 +323,7 @@ struct archive_write_disk {
|
||||
#define RSRC_F_SIZE 50 /* Size of Resource fork footer. */
|
||||
/* Size to write compressed data to resource fork. */
|
||||
#define COMPRESSED_W_SIZE (64 * 1024)
|
||||
/* decmpfs difinitions. */
|
||||
/* decmpfs definitions. */
|
||||
#define MAX_DECMPFS_XATTR_SIZE 3802
|
||||
#ifndef DECMPFS_XATTR_NAME
|
||||
#define DECMPFS_XATTR_NAME "com.apple.decmpfs"
|
||||
@ -632,9 +632,9 @@ _archive_write_disk_header(struct archive *_a, struct archive_entry *entry)
|
||||
/*
|
||||
* NOTE: UF_COMPRESSED is ignored even if the filesystem
|
||||
* supports HFS+ Compression because the file should
|
||||
* have at least an extended attriute "com.apple.decmpfs"
|
||||
* have at least an extended attribute "com.apple.decmpfs"
|
||||
* before the flag is set to indicate that the file have
|
||||
* been compressed. If hte filesystem does not support
|
||||
* been compressed. If the filesystem does not support
|
||||
* HFS+ Compression the system call will fail.
|
||||
*/
|
||||
if (a->fd < 0 || fchflags(a->fd, UF_COMPRESSED) != 0)
|
||||
@ -1247,7 +1247,7 @@ hfs_drive_compressor(struct archive_write_disk *a, const char *buff,
|
||||
ret = hfs_write_compressed_data(a, bytes_used + rsrc_size);
|
||||
a->compressed_buffer_remaining = a->compressed_buffer_size;
|
||||
|
||||
/* If the compressed size is not enouph smaller than
|
||||
/* If the compressed size is not enough smaller than
|
||||
* the uncompressed size. cancel HFS+ compression.
|
||||
* TODO: study a behavior of ditto utility and improve
|
||||
* the condition to fall back into no HFS+ compression. */
|
||||
@ -1352,7 +1352,7 @@ hfs_write_decmpfs_block(struct archive_write_disk *a, const char *buff,
|
||||
(uint32_t *)(a->resource_fork + RSRC_H_SIZE);
|
||||
/* Set the block count to the resource fork. */
|
||||
archive_le32enc(a->decmpfs_block_info++, block_count);
|
||||
/* Get the position where we are goint to set compressed
|
||||
/* Get the position where we are going to set compressed
|
||||
* data. */
|
||||
a->compressed_rsrc_position =
|
||||
RSRC_H_SIZE + 4 + (block_count * 8);
|
||||
@ -1425,7 +1425,7 @@ hfs_write_data_block(struct archive_write_disk *a, const char *buff,
|
||||
bytes_to_write = size;
|
||||
/* Seek if necessary to the specified offset. */
|
||||
if (a->offset < a->fd_offset) {
|
||||
/* Can't support backword move. */
|
||||
/* Can't support backward move. */
|
||||
archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
|
||||
"Seek failed");
|
||||
return (ARCHIVE_FATAL);
|
||||
|
@ -161,7 +161,7 @@ struct isofile {
|
||||
/* Used for managing struct isofile list. */
|
||||
struct isofile *allnext;
|
||||
struct isofile *datanext;
|
||||
/* Used for managing a hardlined struct isofile list. */
|
||||
/* Used for managing a hardlinked struct isofile list. */
|
||||
struct isofile *hlnext;
|
||||
struct isofile *hardlink_target;
|
||||
|
||||
@ -528,7 +528,7 @@ struct iso_option {
|
||||
* - allow more then 8 depths of directory trees;
|
||||
* - disable a version number to a File Name;
|
||||
* - disable a forced period to the tail of a File Name;
|
||||
* - the maxinum length of files and directories is raised to 193.
|
||||
* - the maximum length of files and directories is raised to 193.
|
||||
* if rockridge option is disabled, raised to 207.
|
||||
*/
|
||||
unsigned int iso_level:3;
|
||||
@ -626,7 +626,7 @@ struct iso_option {
|
||||
* : NOTE Our rockridge=useful option does not set a zero
|
||||
* : to uid and gid, you should use application
|
||||
* : option such as --gid,--gname,--uid and --uname
|
||||
* : badtar options instead.
|
||||
* : bsdtar options instead.
|
||||
* Type : boolean/string
|
||||
* Default: Enabled as rockridge=useful
|
||||
* COMPAT : mkisofs -r / -R
|
||||
@ -660,7 +660,7 @@ struct iso_option {
|
||||
* : for making zisofs.
|
||||
* : When the file size is less than one Logical Block
|
||||
* : size, that file will not zisofs'ed since it does
|
||||
* : reduece an ISO-image size.
|
||||
* : reduce an ISO-image size.
|
||||
* :
|
||||
* : When you specify option 'boot=<boot-image>', that
|
||||
* : 'boot-image' file won't be converted to zisofs file.
|
||||
@ -703,7 +703,7 @@ struct iso9660 {
|
||||
} all_file_list;
|
||||
|
||||
/* A list of struct isofile entries which have its
|
||||
* contents and are not a directory, a hardlined file
|
||||
* contents and are not a directory, a hardlinked file
|
||||
* and a symlink file. */
|
||||
struct {
|
||||
struct isofile *first;
|
||||
@ -1907,9 +1907,9 @@ iso9660_close(struct archive_write *a)
|
||||
iso9660->primary.rootent);
|
||||
if (ret < 0)
|
||||
return (ret);
|
||||
/* Make sure we have UTF-16BE convertors.
|
||||
* if there is no file entry, convertors are still
|
||||
* uninitilized. */
|
||||
/* Make sure we have UTF-16BE converters.
|
||||
* if there is no file entry, converters are still
|
||||
* uninitialized. */
|
||||
if (iso9660->sconv_to_utf16be == NULL) {
|
||||
iso9660->sconv_to_utf16be =
|
||||
archive_string_conversion_to_charset(
|
||||
@ -2959,7 +2959,7 @@ set_directory_record_rr(unsigned char *bp, int dr_len,
|
||||
gid = archive_entry_gid(file->entry);
|
||||
if (iso9660->opt.rr == OPT_RR_USEFUL) {
|
||||
/*
|
||||
* This action is simular mkisofs -r option
|
||||
* This action is similar to mkisofs -r option
|
||||
* but our rockridge=useful option does not
|
||||
* set a zero to uid and gid.
|
||||
*/
|
||||
@ -3108,7 +3108,7 @@ set_directory_record_rr(unsigned char *bp, int dr_len,
|
||||
/*
|
||||
* flg len
|
||||
* +----+----+
|
||||
* | 02 | 00 | CURREENT component.
|
||||
* | 02 | 00 | CURRENT component.
|
||||
* +----+----+ (".")
|
||||
*/
|
||||
if (nc != NULL) {
|
||||
@ -3947,7 +3947,7 @@ write_VD(struct archive_write *a, struct vdd *vdd)
|
||||
"Abstract File", 0, D_CHAR);
|
||||
if (r != ARCHIVE_OK)
|
||||
return (r);
|
||||
/* Bibliongraphic File Identifier */
|
||||
/* Bibliographic File Identifier */
|
||||
r = set_file_identifier(bp, 777, 813, vdc, a, vdd,
|
||||
&(iso9660->bibliographic_file_identifier),
|
||||
"Bibliongraphic File", 0, D_CHAR);
|
||||
@ -6135,7 +6135,7 @@ isoent_gen_iso9660_identifier(struct archive_write *a, struct isoent *isoent,
|
||||
off = ffmax - extlen;
|
||||
if (off == 0) {
|
||||
/* A dot('.') character
|
||||
* does't place to the first
|
||||
* doesn't place to the first
|
||||
* byte of identifier. */
|
||||
off ++;
|
||||
extlen --;
|
||||
@ -7149,7 +7149,7 @@ isoent_create_boot_catalog(struct archive_write *a, struct isoent *rootent)
|
||||
|
||||
iso9660->el_torito.catalog = isoent;
|
||||
/*
|
||||
* Get a boot medai type.
|
||||
* Get a boot media type.
|
||||
*/
|
||||
switch (iso9660->opt.boot_type) {
|
||||
default:
|
||||
|
@ -79,7 +79,7 @@ typedef enum {
|
||||
WT_RVIS,
|
||||
/* conversion, unsupported */
|
||||
WT_CONV,
|
||||
/* continutation, unsupported at the moment */
|
||||
/* continuation, unsupported at the moment */
|
||||
WT_CONT,
|
||||
/* invalid type */
|
||||
LAST_WT
|
||||
|
@ -63,7 +63,7 @@ __FBSDID("$FreeBSD$");
|
||||
* - When writing an XML element <link type="<file-type>">, <file-type>
|
||||
* which is a file type a symbolic link is referencing is always marked
|
||||
* as "broken". Xar utility uses stat(2) to get the file type, but, in
|
||||
* libarcive format writer, we should not use it; if it is needed, we
|
||||
* libarchive format writer, we should not use it; if it is needed, we
|
||||
* should get about it at archive_read_disk.c.
|
||||
* - It is possible to appear both <flags> and <ext2> elements.
|
||||
* Xar utility generates <flags> on BSD platform and <ext2> on Linux
|
||||
@ -1227,7 +1227,7 @@ make_file_entry(struct archive_write *a, xmlTextWriterPtr writer,
|
||||
case AE_IFLNK:
|
||||
/*
|
||||
* xar utility has checked a file type, which
|
||||
* a symblic-link file has referenced.
|
||||
* a symbolic-link file has referenced.
|
||||
* For example:
|
||||
* <link type="directory">../ref/</link>
|
||||
* The symlink target file is "../ref/" and its
|
||||
@ -1237,8 +1237,8 @@ make_file_entry(struct archive_write *a, xmlTextWriterPtr writer,
|
||||
* The symlink target file is "../f" and its
|
||||
* file type is a regular file.
|
||||
*
|
||||
* But our implemention cannot do it, and then we
|
||||
* always record that a attribute "type" is "borken",
|
||||
* But our implementation cannot do it, and then we
|
||||
* always record that a attribute "type" is "broken",
|
||||
* for example:
|
||||
* <link type="broken">foo/bar</link>
|
||||
* It means "foo/bar" is not reachable.
|
||||
@ -1544,7 +1544,7 @@ make_toc(struct archive_write *a)
|
||||
}
|
||||
|
||||
/*
|
||||
* Start recoding TOC
|
||||
* Start recording TOC
|
||||
*/
|
||||
r = xmlTextWriterStartElement(writer, BAD_CAST("xar"));
|
||||
if (r < 0) {
|
||||
@ -2484,7 +2484,7 @@ file_connect_hardlink_files(struct xar *xar)
|
||||
archive_entry_set_nlink(target->entry, hl->nlink);
|
||||
if (hl->nlink > 1)
|
||||
/* It means this file is a hardlink
|
||||
* targe itself. */
|
||||
* target itself. */
|
||||
target->hardlink_target = target;
|
||||
for (nf = target->hlnext;
|
||||
nf != NULL; nf = nf->hlnext) {
|
||||
|
@ -283,7 +283,7 @@ DEFINE_TEST(test_acl_freebsd_posix1e_restore)
|
||||
}
|
||||
|
||||
/*
|
||||
* Verify ACL reaed-from-disk. This test is FreeBSD-specific.
|
||||
* Verify ACL read-from-disk. This test is FreeBSD-specific.
|
||||
*/
|
||||
DEFINE_TEST(test_acl_freebsd_posix1e_read)
|
||||
{
|
||||
|
@ -688,7 +688,7 @@ test_symname()
|
||||
assertEqualInt(32, archive_read_data(a, buff, sizeof(buff)));
|
||||
assertEqualMem(buff, "hellohellohello\nhellohellohello\n", 32);
|
||||
|
||||
/* Verify symbolic-linke symlinkfile. */
|
||||
/* Verify symbolic-link symlinkfile. */
|
||||
assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
|
||||
assertEqualInt((AE_IFLNK | 0755), archive_entry_mode(ae));
|
||||
assertEqualString("symlinkfile", archive_entry_pathname(ae));
|
||||
|
@ -26,7 +26,7 @@
|
||||
__FBSDID("$FreeBSD: head/lib/libarchive/test/test_read_format_isorr_bz2.c 201247 2009-12-30 05:59:21Z kientzle $");
|
||||
|
||||
/*
|
||||
PLEASE use old cdrtools; mkisofs verion is 2.01.
|
||||
PLEASE use old cdrtools; mkisofs version is 2.01.
|
||||
This version mkisofs made wrong "SL" System Use Entry of RRIP.
|
||||
|
||||
Execute the following command to rebuild the data for this program:
|
||||
|
@ -1116,7 +1116,7 @@ DEFINE_TEST(test_read_format_zip_filename_UTF8_CP1251)
|
||||
* - the filename of second file is stored in UTF-8.
|
||||
*
|
||||
* Whenever hdrcharset option is specified, we will correctly read the
|
||||
* filename of sencod file, which is stored in UTF-8.
|
||||
* filename of second file, which is stored in UTF-8.
|
||||
*/
|
||||
|
||||
DEFINE_TEST(test_read_format_zip_filename_KOI8R_UTF8_2)
|
||||
|
@ -719,7 +719,7 @@ DEFINE_TEST(test_write_format_iso9660)
|
||||
assertEqualInt(5, archive_entry_ctime(ae));
|
||||
assert(archive_entry_mtime_is_set(ae));
|
||||
assertEqualInt(5, archive_entry_mtime(ae));
|
||||
/* Trim lngname to 64 characters. */
|
||||
/* Trim longname to 64 characters. */
|
||||
longname[64] = '\0';
|
||||
assertEqualString(longname, archive_entry_pathname(ae));
|
||||
assert((AE_IFREG | 0400) == archive_entry_mode(ae));
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include "test.h"
|
||||
|
||||
/*
|
||||
* Check that a "zisofs" ISO 9660 imaeg is correctly created.
|
||||
* Check that a "zisofs" ISO 9660 image is correctly created.
|
||||
*/
|
||||
|
||||
static const unsigned char primary_id[] = {
|
||||
|
Loading…
Reference in New Issue
Block a user