diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2021-05-06 13:10:54 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2021-05-06 13:27:46 +0200 |
commit | dd4e6ead142e58568aec89d76b0b2e867ee983f2 (patch) | |
tree | dbf3fcceea6b492689132ea7a63b704e7532419f /lib/common/compress.c | |
parent | f92d3354df3c0bb930b103a58d905a77a7281a26 (diff) |
Fix: allow concatenated xz streams
Some xz compressed tarballs (e.g. from kernel.org) are not made up of
a single xz stream, but rather contain several, independendly
compressed streams. In that case, the xz decompressor hits
an LZMA_STREAM_END early on and reports EOF. If you are lucky, the tar
reader bails (premature end-of-file). If you are unlucky, it happens
exactely between two records and is interpeted as regular end-of-file.
As this seems to be a normal use case for xz, it has a flag to just
read across the seams and only report end-of-stream if the action
is set to finish.
This commit adds the flag to the initialization propperly sets the
lzma_action depending on whether the underlying stream hit EOF or not.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'lib/common/compress.c')
0 files changed, 0 insertions, 0 deletions