v5.4.7
XZ Utils 5.4.7 (old stable)
Added 1
- Add doc/examples/11_file_info.c to distribution tarballs
Changed 9
- xzless now uses ||- instead of |- in LESSOPEN environment variable with less version 451 and later to correctly show compressed files with no uncompressed data
- xzless now uses --show-preproc-errors flag with less version 632 and later to show warnings on decompression errors
- Symbol versioning variant can now be overridden with --enable-symbol-versions in Autotools-based build system
- CMake now handles Linux on MicroBlaze specially to match Autotools build
- CMake now disables symbol versioning on non-glibc Linux to match Autotools build
- CMake symbol versioning variant can now be overridden by setting SYMBOL_VERSIONING to OFF, generic, or linux
- Clarify description of --disable-assembler in INSTALL documentation to specify it only affects 32-bit x86 assembly usage
- Update home page URLs back to their old locations on tukaani.org
- Update maintainer info
Fixed 7
- Fix missing output pointer initialization in lzma_index_decoder() and lzma_index_buffer_decode() when called with invalid arguments
- Fix missing output pointer initialization in lzma_str_to_filters()
- Fix C standard conformance with function pointer types
- Fix building with NVIDIA HPC SDK
- Fix C standard conformance issue in --block-list parsing with arithmetic on a null pointer
- Fix GNU groff warning when processing the man page about font selection
- Fix outdated threading related information on the man page
Removed 1
- Stop installing the TODO file as part of the documentation
From XZ Utils
NOTE: 5.2.13, 5.4.7, and 5.6.2 have a build system issue that prevents building of shared libraries on some systems like mips64. See the patch itself for details. The same patch applies to 5.2.13, 5.4.7, and 5.6.2.
5.4.7 (2024-05-29)
* Not changed: Memory sanitizer (MSAN) has a false positive
in the CRC CLMUL code which also makes OSS Fuzz unhappy.
Valgrind is smarter and doesn't complain.
A revision to the CLMUL code is coming anyway and this issue
will be cleaned up as part of it. It won't be backported to
5.6.x or 5.4.x because the old code isn't wrong. There is
no reason to risk introducing regressions in old branches
just to silence a false positive.
* liblzma:
- lzma_index_decoder() and lzma_index_buffer_decode(): Fix
a missing output pointer initialization (*i = NULL) if the
functions are called with invalid arguments. The API docs
say that such an initialization is always done. In practice
this matters very little because the problem can only occur
if the calling application has a bug and these functions
return LZMA_PROG_ERROR.
- lzma_str_to_filters(): Fix a missing output pointer
initialization (*error_pos = 0). This is very similar
to the fix above.
- Fix C standard conformance with function pointer types.
This newly showed up with Clang 17 with -fsanitize=undefined.
There are no bug reports about this.
- Fix building with NVIDIA HPC SDK.
* xz:
- Fix a C standard conformance issue in --block-list parsing
(arithmetic on a null pointer).
- Fix a warning from GNU groff when processing the man page:
"warning: cannot select font 'CW'"
- Fix outdated threading related information on the man page.
* xzless:
- With "less" version 451 and later, use "||-" instead of "|-"
in the environment variable LESSOPEN. This way compressed
files that contain no uncompressed data are shown correctly
as empty.
- With "less" version 632 and later, use --show-preproc-errors
to make "less" show a warning on decompression errors.
* Autotools-based build system (configure):
- Symbol versioning variant can now be overridden with
--enable-symbol-versions. Documentation in INSTALL was
updated to match.
CMake:
- Linux on MicroBlaze is handled specially now. This matches
the changes made to the Autotools-based build in XZ Utils
5.4.2 and 5.2.11.
- Disable symbol versioning on non-glibc Linux to match what
the Autotools build does. For example, symbol versioning
isn't enabled with musl.
- Symbol versioning variant can now be overridden by setting
SYMBOL_VERSIONING to "OFF", "generic", or "linux".
* Documentation:
- Clarify the description of --disable-assembler in INSTALL.
The option only affects 32-bit x86 assembly usage.
- Add doc/examples/11_file_info.c. It was added to the
Git repository in 2017 but forgotten to be added into
distribution tarballs.
- Don't install the TODO file as part of the documentation.
The file is out of date.
- Update home page URLs back to their old locations on
tukaani.org.
- Update maintainer info.