diff -Naur libarchive-3.4.3.orig/libarchive/archive_read_support_filter_lz4.c libarchive-3.4.3/libarchive/archive_read_support_filter_lz4.c --- libarchive-3.4.3.orig/libarchive/archive_read_support_filter_lz4.c 2020-05-19 20:48:25.000000000 -0300 +++ libarchive-3.4.3/libarchive/archive_read_support_filter_lz4.c 2020-09-24 17:23:41.060308214 -0300 @@ -336,6 +336,7 @@ while (state->stage == SELECT_STREAM) { const char *read_buf; + uint32_t number; /* Read a magic number. */ read_buf = __archive_read_filter_ahead(self->upstream, 4, @@ -345,13 +346,14 @@ *p = NULL; return (0); } - uint32_t number = archive_le32dec(read_buf); + number = archive_le32dec(read_buf); __archive_read_filter_consume(self->upstream, 4); if (number == LZ4_MAGICNUMBER) return lz4_filter_read_default_stream(self, p); else if (number == LZ4_LEGACY) return lz4_filter_read_legacy_stream(self, p); else if ((number & ~0xF) == LZ4_SKIPPABLED) { + uint32_t skip_bytes; read_buf = __archive_read_filter_ahead( self->upstream, 4, NULL); if (read_buf == NULL) { @@ -361,7 +363,7 @@ "Malformed lz4 data"); return (ARCHIVE_FATAL); } - uint32_t skip_bytes = archive_le32dec(read_buf); + skip_bytes = archive_le32dec(read_buf); __archive_read_filter_consume(self->upstream, 4 + skip_bytes); } else { diff --git a/libarchive/archive_write_disk_windows.c b/libarchive/archive_write_disk_windows.c index 1b12a299..d637bcbb 100644 --- a/libarchive/archive_write_disk_windows.c +++ b/libarchive/archive_write_disk_windows.c @@ -1660,7 +1660,7 @@ create_filesystem_object(struct archive_write_disk *a) /* Since link(2) and symlink(2) don't handle modes, we're done here. */ linkname = archive_entry_hardlink_w(a->entry); if (linkname != NULL) { - wchar_t *linksanitized, *linkfull, *namefull; + wchar_t const *linksanitized, *linkfull, *namefull; size_t l = (wcslen(linkname) + 1) * sizeof(wchar_t); linksanitized = malloc(l); if (linksanitized == NULL) { diff -Naur libarchive-3.4.3.orig/libarchive/test/test_sparse_basic.c libarchive-3.4.3/libarchive/test/test_sparse_basic.c --- libarchive-3.4.3.orig/libarchive/test/test_sparse_basic.c 2020-05-19 20:48:25.000000000 -0300 +++ libarchive-3.4.3/libarchive/test/test_sparse_basic.c 2020-09-24 17:30:31.541246375 -0300 @@ -117,6 +117,7 @@ char buff[1024]; HANDLE handle; DWORD dmy; + size_t offsetSoFar = 0; memset(buff, ' ', sizeof(buff)); @@ -127,20 +128,19 @@ assert(DeviceIoControl(handle, FSCTL_SET_SPARSE, NULL, 0, NULL, 0, &dmy, NULL) != 0); - uint64_t offsetSoFar = 0; while (s->type != END) { if (s->type == HOLE) { LARGE_INTEGER fileOffset, beyondOffset, distanceToMove; + FILE_ZERO_DATA_INFORMATION zeroInformation; + DWORD bytesReturned; fileOffset.QuadPart = offsetSoFar; beyondOffset.QuadPart = offsetSoFar + s->size; distanceToMove.QuadPart = s->size; - FILE_ZERO_DATA_INFORMATION zeroInformation; zeroInformation.FileOffset = fileOffset; zeroInformation.BeyondFinalZero = beyondOffset; - DWORD bytesReturned; assert(SetFilePointerEx(handle, distanceToMove, NULL, FILE_CURRENT) != 0); assert(SetEndOfFile(handle) != 0); diff -Naur libarchive-3.4.3.orig/tar/test/test_option_C_mtree.c libarchive-3.4.3/tar/test/test_option_C_mtree.c --- libarchive-3.4.3.orig/tar/test/test_option_C_mtree.c 2020-05-19 20:48:25.000000000 -0300 +++ libarchive-3.4.3/tar/test/test_option_C_mtree.c 2020-09-24 17:32:02.218171935 -0300 @@ -30,10 +30,9 @@ DEFINE_TEST(test_option_C_mtree) { - char *p0; + char *p0 = NULL; size_t s; int r; - p0 = NULL; char *content = "./foo type=file uname=root gname=root mode=0755\n"; char *filename = "output.tar"; #if defined(_WIN32) && !defined(CYGWIN)