[Git][java-team/xz-java][master] 6 commits: Update upstream public signing key with new expiration date
Tony Mancill (@tmancill)
gitlab at salsa.debian.org
Sun Sep 13 06:54:18 BST 2026
Tony Mancill pushed to branch master at Debian Java Maintainers / xz-java
Commits:
3f9f0844 by tony mancill at 2026-09-12T21:35:03-07:00
Update upstream public signing key with new expiration date
gpg --list-key lasse.collin at tukaani.org
pub rsa4096 2010-10-24 [SC] [expires: 2027-02-10]
3690C240CE51B4670D30AD1C38EE757D69184620
uid [ unknown] Lasse Collin <lasse.collin at tukaani.org>
sub rsa4096 2010-10-24 [E] [expires: 2027-02-10]
- - - - -
512d5b06 by tony mancill at 2026-09-12T21:37:45-07:00
New upstream version 1.12+repack
- - - - -
b84b1f00 by tony mancill at 2026-09-12T21:37:46-07:00
Update upstream source from tag 'upstream/1.12+repack'
Update to upstream version '1.12+repack'
with Debian dir 9876290d713726032870ade113ece93d01ba9cc0
- - - - -
1a153df9 by tony mancill at 2026-09-12T21:39:16-07:00
Bump Standards-Version to 4.7.4
- - - - -
84a9c0ae by tony mancill at 2026-09-12T21:39:48-07:00
Freshen years in debian/copyright
- - - - -
e60c5c12 by tony mancill at 2026-09-12T21:44:24-07:00
Prepare changelog for upload
- - - - -
12 changed files:
- NEWS.md
- build.properties
- debian/changelog
- debian/control
- debian/copyright
- debian/upstream/signing-key.asc
- src/org/tukaani/xz/lz/LZDecoder.java
- src/org/tukaani/xz/lz/LZEncoder.java
- src/org/tukaani/xz/lz/MatchLength.java
- src9/org/tukaani/xz/lz/MatchLength.java
- src9/org/tukaani/xz/lz/MatchLengthFinder.java
- src9/org/tukaani/xz/lz/UnalignedLongLEMatchLengthFinder.java
Changes:
=====================================
NEWS.md
=====================================
@@ -2,6 +2,27 @@
XZ for Java release notes
=========================
+1.12 (2026-03-01)
+-----------------
+
+ * Fix ArrayIndexOutOfBoundsException in the LZMA/LZMA2 encoder on
+ x86-64 and ARM64 when running on Java 9 or newer. The affected
+ code isn't used on Java 8. The bug is present in versions 1.10
+ and 1.11. If one cannot upgrade, one should set the property
+ `org.tukaani.xz.MatchLengthFinder=Basic` to disable the affected
+ code path.
+
+ * Fix ArrayCache usage in LZMAInputStream. If ArrayCache was enabled,
+ decompression was likely to fail quickly when the cache returns a
+ cached array. ArrayCache is disabled by default.
+
+ * The binaries of 1.10 in the Maven Central require Java 8 and
+ contain optimized classes for Java >= 9 as multi-release JAR.
+ They were built with OpenJDK 21.0.10 on GNU/Linux and can be
+ reproduced using the following command:
+
+ SOURCE_DATE_EPOCH=1772370000 TZ=UTC0 ant maven
+
1.11 (2025-11-19)
-----------------
=====================================
build.properties
=====================================
@@ -5,7 +5,7 @@
title = XZ data compression
homepage = https://tukaani.org/xz/java.html
doc_url = https://tukaani.org/xz/xz-javadoc/
-version = 1.11
+version = 1.12
debug = true
# sourcever sets --release for javac 9 (or later) or -source and -target for
=====================================
debian/changelog
=====================================
@@ -1,3 +1,16 @@
+xz-java (1.12+repack-1) unstable; urgency=medium
+
+ * Team upload.
+ * New upstream version 1.12
+ Fix ArrayIndexOutOfBoundsException in the LZMA/LZMA2 encoder on
+ x86-64 and ARM64 when running on Java 9 or newer
+ * Add Comment to d/copyright to explain repack
+ * Update upstream public signing key with new expiration date
+ * Bump Standards-Version to 4.7.4
+ * Freshen years in debian/copyright
+
+ -- tony mancill <tmancill at debian.org> Sat, 12 Sep 2026 21:40:24 -0700
+
xz-java (1.11+repack-1) unstable; urgency=medium
* Team upload.
=====================================
debian/control
=====================================
@@ -8,7 +8,7 @@ Build-Depends: ant,
default-jdk,
javahelper,
maven-repo-helper
-Standards-Version: 4.7.2
+Standards-Version: 4.7.4
Vcs-Git: https://salsa.debian.org/java-team/xz-java.git
Vcs-Browser: https://salsa.debian.org/java-team/xz-java
Homepage: https://tukaani.org/xz/java.html
=====================================
debian/copyright
=====================================
@@ -7,7 +7,7 @@ Comment: The upstream source is distributed as a GPG-signed ZIP archive.
archive format suitable for a Debian source package.
Files: *
-Copyright: 2011-2025, Lasse Collin <lasse.collin at tukaani.org>
+Copyright: 2011-2026, Lasse Collin <lasse.collin at tukaani.org>
2011, Igor Pavlov
License: 0BSD
Permission to use, copy, modify, and/or distribute this
@@ -24,8 +24,8 @@ License: 0BSD
Files: debian/*
Copyright: 2012-2013, Miguel Landaeta <nomadium at debian.org>
- 2013-2016, Emmanuel Bourg <ebourg at apache.org>
- 2025, tony mancill <tmancill at debian.org>
+ 2013-2026, Emmanuel Bourg <ebourg at apache.org>
+ 2025-2026, tony mancill <tmancill at debian.org>
License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
=====================================
debian/upstream/signing-key.asc
=====================================
@@ -13,40 +13,151 @@ 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
-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
-RROvuEI11HLOmBJv
-=m5Nx
+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
+=nNp1
-----END PGP PUBLIC KEY BLOCK-----
=====================================
src/org/tukaani/xz/lz/LZDecoder.java
=====================================
@@ -24,6 +24,15 @@ public final class LZDecoder {
bufSize = dictSize;
buf = arrayCache.getByteArray(bufSize, false);
+ // getByte(0) needs to return 0x00 when no data has been decompressed.
+ // This requires initializing only one byte, so don't pass "true" as
+ // the second argument in the above arrayCache.getByteArray call.
+ //
+ // Note that LZMA2InputStream calls LZDecoder.reset() before decoding
+ // anything, thus it doesn't break even if this initialization was
+ // missing here. But LZMAInputStream has no reason to call reset().
+ buf[bufSize - 1] = 0x00;
+
if (presetDict != null) {
pos = Math.min(presetDict.length, dictSize);
full = pos;
=====================================
src/org/tukaani/xz/lz/LZEncoder.java
=====================================
@@ -139,7 +139,8 @@ public abstract class LZEncoder {
// MatchLength.getLen might read and ignore extra bytes
// at the end of the buffer.
- buf = arrayCache.getByteArray(bufSize + MatchLength.EXTRA_SIZE, false);
+ buf = arrayCache.getByteArray(bufSize + MatchLength.getExtraSize(),
+ false);
keepSizeBefore = extraSizeBefore + dictSize;
keepSizeAfter = extraSizeAfter + matchLenMax;
=====================================
src/org/tukaani/xz/lz/MatchLength.java
=====================================
@@ -6,7 +6,9 @@ package org.tukaani.xz.lz;
// See the version in the src9 directory for documentation.
final class MatchLength {
- static final int EXTRA_SIZE = 0;
+ static int getExtraSize() {
+ return 0;
+ }
static int getLen(byte[] buf, int off, int delta, int len, int lenLimit) {
assert off >= 0;
=====================================
src9/org/tukaani/xz/lz/MatchLength.java
=====================================
@@ -7,13 +7,6 @@ package org.tukaani.xz.lz;
import java.nio.ByteOrder;
final class MatchLength {
- /**
- * Number of additional bytes that {@code getLen} might read even though
- * it doesn't need them. The buffer must have this many bytes of extra
- * space at the end to make it safe to use {@code getLen}.
- */
- static final int EXTRA_SIZE;
-
private static final MatchLengthFinder matchLengthFinder;
static {
@@ -48,8 +41,15 @@ final class MatchLength {
"org.tukaani.xz.MatchLengthFinder. " +
"Supported values: Basic, UnalignedLongLE");
}
+ }
- EXTRA_SIZE = matchLengthFinder.getExtraSize();
+ /**
+ * Returns the number of additional bytes that {@code getLen} might read
+ * even though it doesn't need them. The buffer must have this many bytes
+ * of extra space at the end to make it safe to use {@code getLen}.
+ */
+ static int getExtraSize() {
+ return matchLengthFinder.getExtraSize();
}
/**
=====================================
src9/org/tukaani/xz/lz/MatchLengthFinder.java
=====================================
@@ -5,7 +5,7 @@
package org.tukaani.xz.lz;
interface MatchLengthFinder {
- /** Returns value for {@code MatchLength.EXTRA_SIZE}. */
+ /** See {@code MatchLength.getExtraSize}. */
int getExtraSize();
/** See {@code MatchLength.getLen}. */
=====================================
src9/org/tukaani/xz/lz/UnalignedLongLEMatchLengthFinder.java
=====================================
@@ -10,7 +10,7 @@ import org.tukaani.xz.common.ByteArrayView;
// unaligned access. This is based on XZ Utils' memcmplen.h.
// This may read up to 7 extra bytes past the end of the specified
// end offset (off + lenLimit) so the caller must ensure that
-// there are EXTRA_SIZE bytes available at the end of the buffer.
+// there are getExtraSize() bytes available at the end of the buffer.
//
// In the extreme case of compressing a sequence of zero bytes, this
// can reduce compression time by over 30 % compared to Arrays.mismatch.
View it on GitLab: https://salsa.debian.org/java-team/xz-java/-/compare/1902f240053e2fb5ddf4e7947a6ed3724fc94305...e60c5c127be5b1f683b2d8d76e01bba328c14ef9
--
View it on GitLab: https://salsa.debian.org/java-team/xz-java/-/compare/1902f240053e2fb5ddf4e7947a6ed3724fc94305...e60c5c127be5b1f683b2d8d76e01bba328c14ef9
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20260913/3f1b789b/attachment.htm>
More information about the pkg-java-commits
mailing list