aboutsummaryrefslogtreecommitdiffstats
path: root/libarchive/test/test_write_format_zip_compression_store.c
diff options
context:
space:
mode:
authorMartin Matuska <mm@FreeBSD.org>2017-05-03 23:55:12 +0000
committerMartin Matuska <mm@FreeBSD.org>2017-05-03 23:55:12 +0000
commit87a07d9d6c9aca33aa7189ddf8dc13fd4ed795e9 (patch)
treeb8ac4af3d780f51917c8a060892b1633cce98aca /libarchive/test/test_write_format_zip_compression_store.c
parent659b8836cb5cd1ff479c8644211f190e1ad9619d (diff)
downloadsrc-87a07d9d6c9aca33aa7189ddf8dc13fd4ed795e9.tar.gz
src-87a07d9d6c9aca33aa7189ddf8dc13fd4ed795e9.zip
Update vendor/libarchive to git c253f0aae9ac86a617b4f814137e07757df72391
Vendor changes (FreeBSD-related): PR 897: test for ZIP archives with invalid EOCD headers PR 901: fix invalid renaming of sparse files OSS-Fuzz issue 497: remove fallback tree in LZX decoder OSS-Fuzz issue 527: rewrite expressions in lz4 filter OSS-Fuzz issue 577: fix integer overflow in cpio reader OSS-Fuzz issue 862: fix numerc parsing in mtree reader OSS-Fuzz issue 1097: fix undefined shift in rar reader cpio: various optimizations and memory leak fixes
Notes
Notes: svn path=/vendor/libarchive/dist/; revision=317781
Diffstat (limited to 'libarchive/test/test_write_format_zip_compression_store.c')
-rw-r--r--libarchive/test/test_write_format_zip_compression_store.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/libarchive/test/test_write_format_zip_compression_store.c b/libarchive/test/test_write_format_zip_compression_store.c
index 281de1befe26..466aa40d9e04 100644
--- a/libarchive/test/test_write_format_zip_compression_store.c
+++ b/libarchive/test/test_write_format_zip_compression_store.c
@@ -108,8 +108,19 @@ static void verify_write_uncompressed(struct archive *a)
}
/* Quick and dirty: Read 2-byte and 4-byte integers from Zip file. */
-static int i2(const char *p) { return ((p[0] & 0xff) | ((p[1] & 0xff) << 8)); }
-static int i4(const char *p) { return (i2(p) | (i2(p + 2) << 16)); }
+static unsigned int
+i2(const void *p_)
+{
+ const unsigned char *p = p_;
+ return (p[0] | (p[1] << 8));
+}
+
+static unsigned int
+i4(const void *p_)
+{
+ const unsigned char *p = p_;
+ return (i2(p) | (i2(p + 2) << 16));
+}
static void verify_uncompressed_contents(const char *buff, size_t used)
{