Age | Commit message (Collapse) | Author |
|
Test: make
Change-Id: I7eb36c456de507dfb5f0501714ef54a4c274cf1a
|
|
Original change: https://android-review.googlesource.com/c/platform/external/xz-embedded/+/1844021
Change-Id: I81e227e96a67fd7431915659d5de85c44298e84e
|
|
|
|
Bug: http://b/184301514
Test: N/A
Change-Id: Ia1d1ef3a97cd72be5190a9283574017c241dfcbe
|
|
non-splitted -> non-split
uncompressible -> incompressible
|
|
I happened to find these from the Linux source tree.
|
|
MicroLZMA is a yet another header format variant where the first
byte of a raw LZMA stream (without the end of stream marker) has
been replaced with a bitwise-negation of the lc/lp/pb properties
byte. MicroLZMA was created to be used in EROFS but can be used
by other things too where wasting minimal amount of space for
headers is important.
This is implemented using most of the LZMA2 code as is so the
amount of new code is small. The API has a few extra features
compared to the XZ decoder. On the other hand, the API lacks
XZ_BUF_ERROR support which is important to take into account
when using this API.
MicroLZMA doesn't support BCJ filters. In theory they could be
added later as there are many unused/reserved values for the
first byte of the compressed stream but in practice it is
somewhat unlikely to happen due to a few implementation reasons.
Thanks to Gao Xiang (EROFS developer) for testing and feedback.
|
|
This might matter, for example, if the underlying type of
enum xz_check was a signed char. In such a case the validation
wouldn't catch an unsupported header.
With most compilers it already worked correctly but it's better
to change it for portability and conformance. This may increase
the code size by a few bytes though. An alternative would be to use
an unsigned int instead of enum xz_check but using an enumeration
looks cleaner.
|
|
It's a more logical place even if the resetting needs to be done
only once per LZMA2 stream (if lzma_reset() called in the middle
of an LZMA2 stream, .len will already be 0).
|
|
|
|
|
|
e391d63e86 am: 2dcc8c1d1b
Original change: https://android-review.googlesource.com/c/platform/external/xz-embedded/+/1588642
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: If380ba12f715e36d5d90cf2873d7e4229b8293f8
|
|
e391d63e86
Original change: https://android-review.googlesource.com/c/platform/external/xz-embedded/+/1588642
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I25c642ae0825edd03a5fd3d863fc5e247875ec0e
|
|
Original change: https://android-review.googlesource.com/c/platform/external/xz-embedded/+/1588642
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I35dae3323ae5236df71b5e46a4c6fcd4459fcc18
|
|
gcc -std=gnu89 -pedantic warns about the ULL integer constant
suffix in xz_crc64.c so silence it with -Wno-long-long.
clang -std=gnu89 -pedantic is noisy about C99 features and
language extensions. Omitting either option silences all these
warnings, so mention this in a comment.
|
|
When "unsigned long" is 32 bits and GCC or Clang is in gnu89 mode,
the 64-bit constant doesn't become "unsigned long long" like it
would in C99. This is because in gnu89 mode "unsigned long long"
is a GNU extension to C89 and isn't considered when selecting the
type of the integer constant.
The CRC64 support was added in 2013 and the code has been broken
on 32-bit platforms unless one modified the Makefile to set C99
or a newer C standard. I didn't want to omit -std=gnu89 because
Linux still uses it and xz_crc64.c (which isn't in Linux) was
the only place that wasn't compatible with -std=gnu89.
Thanks to bzt for reporting the problem.
|
|
|
|
Added legacy_unencumbered to:
Android.bp
Bug: 68860345
Bug: 151177513
Bug: 151953481
Test: m all
Exempt-From-Owner-Approval: janitorial work
Change-Id: I6cdef9939822acbd5da529ee9cefcd152883a2fe
|
|
Thanks to Alexander A. Klimov.
|
|
Thanks to Randy Dunlap.
|
|
ff3dce8e7f am: 17ddf52272 am: a08354784c am: 26dae8dca0
Change-Id: I31117ceb157a50209607d9c7d854c0bbc4b66be1
|
|
ff3dce8e7f am: 17ddf52272 am: a08354784c
Change-Id: Ib2bbf192dd40eb7fcb1941d6b4885acd5c231343
|
|
ff3dce8e7f am: 17ddf52272
Change-Id: I4b008f926b56e80a1bc209a7aee6cb0a3d19661f
|
|
ff3dce8e7f
Change-Id: Iaba1828fadbc6961684dfe58468a02e2a32a7290
|
|
Change-Id: I6bbb983694bc6fecc2a5d708860ecc664d44cc26
|
|
Bug: 68860345
Bug: 69058154
Bug: 151953481
Test: no code changes
Change-Id: If6d7ed46d783928b60e39aef53d76b7fbbdc6342
|
|
With valid files, the safety margin described in lib/decompress_unxz.c
ensures that these buffers cannot overlap. But if the uncompressed size
of the input is larger than the caller thought, which is possible when
the input file is invalid/corrupt, the buffers can overlap. Obviously
the result will then be garbage (and usually the decoder will return
an error too) but no other harm will happen when such an over-run occurs.
This change only affects uncompressed LZMA2 chunks and so this
should have no effect on performance.
|
|
s->dict.allocated was initialized to 0 but never set after
a successful allocation, thus the code always thought that
the dictionary buffer has to be reallocated.
Thanks to Yu Sun from Cisco Systems for reporting this bug.
|
|
Thanks to DU HUANPENG.
|
|
Thanks to DU HUANPENG.
|
|
am: f23903bb9f -s ours
am skip reason: subject contains skip directive
Change-Id: I741aeb99b65f134cd9789a46e406bb0760f2ead4
|
|
Bug: 120848293
Change-Id: I934a50a456613c3de8c8dbf902d622a3b1f06e16
|
|
am: 42ce931349
Change-Id: I00482b5944dbdf60cb5d7208b6288fcc15805aec
|
|
am: c4014a6c07
Change-Id: I107b6a9e27c3e21ea6f676308a75a80a6903af24
|
|
am: ef770d0dfc
Change-Id: Iefa4eedab193be36d04ba2c65ce05ae17d7a0c14
|
|
Bug: 33166666
Test: gerrit uploader
Change-Id: Ice92f61c13d86faed20f02a8708dcccc39c1dc4a
|
|
ours
am: b432667bad -s ours
Change-Id: I6eb9e5755484709f50987dd3c7ea97b7a1eb4c0e
|
|
am: 6124435b0c -s ours
Change-Id: Id202ec0230f03b88e7ccdafcdf2517240ce1a35b
|
|
am: 19d3ceb83b -s ours
Change-Id: I0984a4a071ceb0ecc8aebbead32cf889ad89ab0f
|
|
Merge pie-platform-release (PPRL.181205.001, history only) into master
Bug: 120502534
Change-Id: I93a68f8d040c636a890a5f60f156aff34e4a65b1
|
|
am: 95aeb9fa02
am: b259b40ad4
Change-Id: Ib9b9b225043547a577913bfd140da9bf66d8f738
|
|
am: 95aeb9fa02
Change-Id: Ieeacfdf63e6bd6731be27942aa623fc9826c7d34
|
|
am: 6f13985f83
Change-Id: I2298c59cb791629080b9a34cfd0c2bf6319ff21b
|
|
Test: build update_engine_sideload
Change-Id: I8dbf8f108052c5df3dd0b90af48f5f618c472e99
|
|
Change-Id: I7c575af213d9c3b2ea7a11feddc6dcee93e486ab
|
|
am: 2d94df3b0e
Change-Id: I1f93482698774a8de03a6b73d3e72a43674c3df1
|
|
am: 1c785c60c3
Change-Id: I3919a7a92b94843d237e290920fedb82678e489f
|
|
am: 056e99d355
Change-Id: Ia02d5d496aec6c4325b51465c3c42969b6f6f873
|
|
am: 04db9dd79d
Change-Id: I57a6fe62cecc7f3cd4d419eefcda2bae3cae56ff
|
|
Bug: 66996870
Test: build with WITH_TIDY=1
Change-Id: Id5ae6cc8c81ec157430906938699a99f42c9ae3c
|