| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
| |
when using ARCHIVE_EXTRACT_SAFE_WRITES.
Completes #1330 for Windows.
|
|\
| |
| | |
Fix ARCHIVE_EXTRACT_SAFE_WRITES for existing symlinks
|
|/
|
|
| |
for ARCHIVE_EXTRACT_SAFE_WRITES.
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes #1313
|
|
|
|
|
| |
Use static versions of zlib and bzip2 on Windows.
Simplify ci.cmd for GitHub Actions.
|
|\
| |
| | |
Fix possible heap-buffer-overflow in archive_string_append_from_wcs on Windows
|
| |
| |
| |
| |
| |
| | |
Fix `archive_string_append_from_wcs_in_codepage` to account for the
already-used portion of the buffer when computing the size of the
remaining buffer for `WideCharToMultiByte` output.
|
| |
| |
| |
| |
| | |
Read RAR5 signature with a function instead.
Fixes #1303
|
| | |
|
|/
|
|
| |
Fixes #987
|
|\
| |
| | |
RAR5 reader: reject files that declare invalid header flags
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One of the fields in RAR5's base block structure is the size of the
header. Some invalid files declare a 0 header size setting, which can
confuse the unpacker. Minimum header size for RAR5 base blocks is 7
bytes (4 bytes for CRC, and 3 bytes for the rest), so block size of 0
bytes should be rejected at header parsing stage.
The fix adds an error condition if header size of 0 bytes is detected.
In this case, the unpacker will not attempt to unpack the file, as the
header is corrupted.
The commit also adds OSSFuzz #20459 sample to test further regressions
in this area.
|
|\
| |
| | |
libarchive: Fix detection of 'major' on Solaris 11.4
|
| |
| |
| |
| |
| |
| | |
In `archive_pack_dev.c` there is code checking the `HAVE_MAJOR` macro,
but it is not computed. Port the equivalent logic from
`archive_entry.c` to define the macro.
|
| |
| |
| |
| |
| |
| |
| | |
Remove rbtree nodes before freeing them.
For better code readability import new rbtree macros from NetBSD.
Fixes #1325
|
| |
| |
| |
| |
| |
| |
| |
| | |
The list of format and filter options in bsdtar(1) is incomplete.
Add reference to manual pages archive_write_set_options(3) and
archive_read_set_options(3) for a complete list of supported options.
Fixes #1323
|
|/ |
|
|
|
|
| |
Fixes #1322
|
| |
|
| |
|
|
|
|
| |
Fixes #1319
|
|
|
|
| |
Closes #1320
|
|
|
|
|
|
|
| |
Add "none" as acceptable value to xar:checksum and xar:toc-checksum
Document XAR options in bsdtar(1)
Fixes #1317
|
| |
|
|
|
|
|
|
| |
the format errors.
Closes #1318
|
|
|
|
|
|
|
| |
Some if/continue constructs could be changed to if/elseif/else blocks.
This allows elimination of superfluous 'continue' directives.
Closes #1280
|
|
|
|
|
| |
A patch to make this compile in older Visual Studio.
Moving variable declaration up for C89 standard.
|
| |
|
|
|
|
| |
Introduced in 467d193dd61ca7669a5ba8d38e09836babf64e58
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes #1314
|
| |
|
|
|
|
|
|
|
| |
As Windows does not support atomic rename/_wrename
we have to unlink the file right before calling _wrename
leaving a short unsafe window where a different file with the
same name can be created and make the rename operation fail.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This flag changes the way that regular files are extracted:
Instead of removing existing files first and re-creating them in
order to replace their contents, a temporary file is created and
when writing to the temporary file is completed, the file is
rename(2)d to the final destination name.
This has the effect of presenting a consistent view of the file to
the system (either the file with the new contents or the file with
the old contents). Removing and overwriting the file has the
undesired side effect that the the system can either not see the
file at all (from the time it is being removed till the time it is
being re-created), or worse it can see partial file contents. This
is problematic when extracting system files (for example shared
libraries).
If the existing file that is going to be overwritten is a hard link,
for now we unlink it before calling rename(2). This can be done
correctly by creating a hardlink to a tmpnam(3) generated file
and then use rename(2), but that is fairly intrusive and requires
refactoring.
Fixes #1289
|
|
|
|
|
|
|
| |
This has no but code correctness effect as cdeque_init() is static
and max_capacity_power_of_2 in our code is always 8192.
Found by LGTM.com code analysis
|
|
|
|
| |
Found by LGTM.com code analysis
|
|\
| |
| | |
Various test improvements
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
| |
- Use --help instead of -V when -V exits with non-zero code
- Double the string size to prevent truncation
|
|
|
|
|
|
| |
RAR5 reader: comment out unreachable code
Found by LGTM.com code analysis
|