~pcsx2-team/pcsx2-github-mirror/+git/xz:v5.4

Last commit made on 2024-01-26
Get this branch:
git clone -b v5.4 https://git.launchpad.net/~pcsx2-team/pcsx2-github-mirror/+git/xz

Branch merges

Branch information

Recent commits

6e8732c... by Jia Tan

Bump version and soname for 5.4.6.

6532f55... by Jia Tan

Add NEWS for 5.4.6.

8b1a279... by Jia Tan

Docs: Update .xz file format specification to 1.2.0.

The new RISC-V filter was added to the specification, in addition to
updating the specification URL.

5528590... by Jia Tan

xz: Update website URLs in the man pages.

a670f69... by Jia Tan

liblzma: Update website URL.

05aeda9... by Jia Tan

Docs: Update website URLs.

3cc54f1... by Jia Tan

Build: Update website URL.

82f5515... by Jia Tan

Translations: Update the French translation.

9e96ca8... by Jia Tan

xz: Add a comment to Capsicum sandbox setup.

This comment is repeated in xzdec.c to help remind us why all the
capabilities are removed from stdin in certain situations.

8191720... by Jia Tan

liblzma: Set all values in lzma_lz_encoder to NULL after allocation.

The first member of lzma_lz_encoder doesn't necessarily need to be set
to NULL since it will always be set before anything tries to use it.
However the function pointer members must be set to NULL since other
functions rely on this NULL value to determine if this behavior is
supported or not.

This fixes a somewhat serious bug, where the options_update() and
set_out_limit() function pointers are not set to NULL. This seems to
have been forgotten since these function pointers were added many years
after the original two (code() and end()).

The problem is that by not setting this to NULL we are relying on the
memory allocation to zero things out if lzma_filters_update() is called
on a LZMA1 encoder. The function pointer for set_out_limit() is less
serious because there is not an API function that could call this in an
incorrect way. set_out_limit() is only called by the MicroLZMA encoder,
which must use LZMA1 where set_out_limit() is always set. Its currently
not possible to call set_out_limit() on an LZMA2 encoder at this time.

So calling lzma_filters_update() on an LZMA1 encoder had undefined
behavior since its possible that memory could be manipulated so the
options_update member pointed to a different instruction sequence.

This is unlikely to be a bug in an existing application since it relies
on calling lzma_filters_update() on an LZMA1 encoder in the first place.
For instance, it does not affect xz because lzma_filters_update() can
only be used when encoding to the .xz format.