!614 update to 8u432
From: @Autistic_boyya Reviewed-by: @kuenking111 Signed-off-by: @kuenking111
This commit is contained in:
commit
c0d8deef73
@ -38,13 +38,6 @@ diff --git a/jdk/src/share/classes/javax/security/auth/kerberos/KeyImpl.java b/j
|
|||||||
index 9d36d1e9e..571387e0c 100644
|
index 9d36d1e9e..571387e0c 100644
|
||||||
--- a/jdk/src/share/classes/javax/security/auth/kerberos/KeyImpl.java
|
--- a/jdk/src/share/classes/javax/security/auth/kerberos/KeyImpl.java
|
||||||
+++ b/jdk/src/share/classes/javax/security/auth/kerberos/KeyImpl.java
|
+++ b/jdk/src/share/classes/javax/security/auth/kerberos/KeyImpl.java
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
/*
|
|
||||||
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
+ * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
*
|
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
|
||||||
@@ -138,6 +138,12 @@ class KeyImpl implements SecretKey, Destroyable, Serializable {
|
@@ -138,6 +138,12 @@ class KeyImpl implements SecretKey, Destroyable, Serializable {
|
||||||
case EncryptedData.ETYPE_AES256_CTS_HMAC_SHA1_96:
|
case EncryptedData.ETYPE_AES256_CTS_HMAC_SHA1_96:
|
||||||
return "aes256-cts-hmac-sha1-96";
|
return "aes256-cts-hmac-sha1-96";
|
||||||
|
|||||||
@ -8,192 +8,6 @@ Subject: 8193682: Infinite loop in ZipOutputStream.close()
|
|||||||
4 files changed, 226 insertions(+), 64 deletions(-)
|
4 files changed, 226 insertions(+), 64 deletions(-)
|
||||||
create mode 100644 jdk/test/java/util/zip/CloseDeflaterTest.java
|
create mode 100644 jdk/test/java/util/zip/CloseDeflaterTest.java
|
||||||
|
|
||||||
diff --git a/jdk/src/share/classes/java/util/zip/DeflaterOutputStream.java b/jdk/src/share/classes/java/util/zip/DeflaterOutputStream.java
|
|
||||||
index a1f768cae..f4cf79693 100644
|
|
||||||
--- a/jdk/src/share/classes/java/util/zip/DeflaterOutputStream.java
|
|
||||||
+++ b/jdk/src/share/classes/java/util/zip/DeflaterOutputStream.java
|
|
||||||
@@ -235,9 +235,12 @@ class DeflaterOutputStream extends FilterOutputStream {
|
|
||||||
*/
|
|
||||||
public void close() throws IOException {
|
|
||||||
if (!closed) {
|
|
||||||
- finish();
|
|
||||||
- if (usesDefaultDeflater)
|
|
||||||
- def.end();
|
|
||||||
+ try {
|
|
||||||
+ finish();
|
|
||||||
+ } finally {
|
|
||||||
+ if (usesDefaultDeflater)
|
|
||||||
+ def.end();
|
|
||||||
+ }
|
|
||||||
out.close();
|
|
||||||
closed = true;
|
|
||||||
}
|
|
||||||
diff --git a/jdk/src/share/classes/java/util/zip/GZIPOutputStream.java b/jdk/src/share/classes/java/util/zip/GZIPOutputStream.java
|
|
||||||
index 2c1cd409b..1c3f8592e 100644
|
|
||||||
--- a/jdk/src/share/classes/java/util/zip/GZIPOutputStream.java
|
|
||||||
+++ b/jdk/src/share/classes/java/util/zip/GZIPOutputStream.java
|
|
||||||
@@ -154,24 +154,30 @@ class GZIPOutputStream extends DeflaterOutputStream {
|
|
||||||
*/
|
|
||||||
public void finish() throws IOException {
|
|
||||||
if (!def.finished()) {
|
|
||||||
- def.finish();
|
|
||||||
- while (!def.finished()) {
|
|
||||||
- int len = def.deflate(buf, 0, buf.length);
|
|
||||||
- if (def.finished() && len <= buf.length - TRAILER_SIZE) {
|
|
||||||
- // last deflater buffer. Fit trailer at the end
|
|
||||||
- writeTrailer(buf, len);
|
|
||||||
- len = len + TRAILER_SIZE;
|
|
||||||
- out.write(buf, 0, len);
|
|
||||||
- return;
|
|
||||||
+ try {
|
|
||||||
+ def.finish();
|
|
||||||
+ while (!def.finished()) {
|
|
||||||
+ int len = def.deflate(buf, 0, buf.length);
|
|
||||||
+ if (def.finished() && len <= buf.length - TRAILER_SIZE) {
|
|
||||||
+ // last deflater buffer. Fit trailer at the end
|
|
||||||
+ writeTrailer(buf, len);
|
|
||||||
+ len = len + TRAILER_SIZE;
|
|
||||||
+ out.write(buf, 0, len);
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ if (len > 0)
|
|
||||||
+ out.write(buf, 0, len);
|
|
||||||
}
|
|
||||||
- if (len > 0)
|
|
||||||
- out.write(buf, 0, len);
|
|
||||||
+ // if we can't fit the trailer at the end of the last
|
|
||||||
+ // deflater buffer, we write it separately
|
|
||||||
+ byte[] trailer = new byte[TRAILER_SIZE];
|
|
||||||
+ writeTrailer(trailer, 0);
|
|
||||||
+ out.write(trailer);
|
|
||||||
+ } catch (IOException e) {
|
|
||||||
+ if (usesDefaultDeflater)
|
|
||||||
+ def.end();
|
|
||||||
+ throw e;
|
|
||||||
}
|
|
||||||
- // if we can't fit the trailer at the end of the last
|
|
||||||
- // deflater buffer, we write it separately
|
|
||||||
- byte[] trailer = new byte[TRAILER_SIZE];
|
|
||||||
- writeTrailer(trailer, 0);
|
|
||||||
- out.write(trailer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/jdk/src/share/classes/java/util/zip/ZipOutputStream.java b/jdk/src/share/classes/java/util/zip/ZipOutputStream.java
|
|
||||||
index 6b480aa1d..f001ddf00 100644
|
|
||||||
--- a/jdk/src/share/classes/java/util/zip/ZipOutputStream.java
|
|
||||||
+++ b/jdk/src/share/classes/java/util/zip/ZipOutputStream.java
|
|
||||||
@@ -247,59 +247,65 @@ class ZipOutputStream extends DeflaterOutputStream implements ZipConstants {
|
|
||||||
public void closeEntry() throws IOException {
|
|
||||||
ensureOpen();
|
|
||||||
if (current != null) {
|
|
||||||
- ZipEntry e = current.entry;
|
|
||||||
- switch (e.method) {
|
|
||||||
- case DEFLATED:
|
|
||||||
- def.finish();
|
|
||||||
- while (!def.finished()) {
|
|
||||||
- deflate();
|
|
||||||
- }
|
|
||||||
- if ((e.flag & 8) == 0) {
|
|
||||||
- // verify size, compressed size, and crc-32 settings
|
|
||||||
- if (e.size != def.getBytesRead()) {
|
|
||||||
- throw new ZipException(
|
|
||||||
- "invalid entry size (expected " + e.size +
|
|
||||||
- " but got " + def.getBytesRead() + " bytes)");
|
|
||||||
+ try {
|
|
||||||
+ ZipEntry e = current.entry;
|
|
||||||
+ switch (e.method) {
|
|
||||||
+ case DEFLATED:
|
|
||||||
+ def.finish();
|
|
||||||
+ while (!def.finished()) {
|
|
||||||
+ deflate();
|
|
||||||
}
|
|
||||||
- if (e.csize != def.getBytesWritten()) {
|
|
||||||
+ if ((e.flag & 8) == 0) {
|
|
||||||
+ // verify size, compressed size, and crc-32 settings
|
|
||||||
+ if (e.size != def.getBytesRead()) {
|
|
||||||
+ throw new ZipException(
|
|
||||||
+ "invalid entry size (expected " + e.size +
|
|
||||||
+ " but got " + def.getBytesRead() + " bytes)");
|
|
||||||
+ }
|
|
||||||
+ if (e.csize != def.getBytesWritten()) {
|
|
||||||
+ throw new ZipException(
|
|
||||||
+ "invalid entry compressed size (expected " +
|
|
||||||
+ e.csize + " but got " + def.getBytesWritten() + " bytes)");
|
|
||||||
+ }
|
|
||||||
+ if (e.crc != crc.getValue()) {
|
|
||||||
+ throw new ZipException(
|
|
||||||
+ "invalid entry CRC-32 (expected 0x" +
|
|
||||||
+ Long.toHexString(e.crc) + " but got 0x" +
|
|
||||||
+ Long.toHexString(crc.getValue()) + ")");
|
|
||||||
+ }
|
|
||||||
+ } else {
|
|
||||||
+ e.size = def.getBytesRead();
|
|
||||||
+ e.csize = def.getBytesWritten();
|
|
||||||
+ e.crc = crc.getValue();
|
|
||||||
+ writeEXT(e);
|
|
||||||
+ }
|
|
||||||
+ def.reset();
|
|
||||||
+ written += e.csize;
|
|
||||||
+ break;
|
|
||||||
+ case STORED:
|
|
||||||
+ // we already know that both e.size and e.csize are the same
|
|
||||||
+ if (e.size != written - locoff) {
|
|
||||||
throw new ZipException(
|
|
||||||
- "invalid entry compressed size (expected " +
|
|
||||||
- e.csize + " but got " + def.getBytesWritten() + " bytes)");
|
|
||||||
+ "invalid entry size (expected " + e.size +
|
|
||||||
+ " but got " + (written - locoff) + " bytes)");
|
|
||||||
}
|
|
||||||
if (e.crc != crc.getValue()) {
|
|
||||||
throw new ZipException(
|
|
||||||
- "invalid entry CRC-32 (expected 0x" +
|
|
||||||
- Long.toHexString(e.crc) + " but got 0x" +
|
|
||||||
- Long.toHexString(crc.getValue()) + ")");
|
|
||||||
+ "invalid entry crc-32 (expected 0x" +
|
|
||||||
+ Long.toHexString(e.crc) + " but got 0x" +
|
|
||||||
+ Long.toHexString(crc.getValue()) + ")");
|
|
||||||
}
|
|
||||||
- } else {
|
|
||||||
- e.size = def.getBytesRead();
|
|
||||||
- e.csize = def.getBytesWritten();
|
|
||||||
- e.crc = crc.getValue();
|
|
||||||
- writeEXT(e);
|
|
||||||
+ break;
|
|
||||||
+ default:
|
|
||||||
+ throw new ZipException("invalid compression method");
|
|
||||||
}
|
|
||||||
- def.reset();
|
|
||||||
- written += e.csize;
|
|
||||||
- break;
|
|
||||||
- case STORED:
|
|
||||||
- // we already know that both e.size and e.csize are the same
|
|
||||||
- if (e.size != written - locoff) {
|
|
||||||
- throw new ZipException(
|
|
||||||
- "invalid entry size (expected " + e.size +
|
|
||||||
- " but got " + (written - locoff) + " bytes)");
|
|
||||||
- }
|
|
||||||
- if (e.crc != crc.getValue()) {
|
|
||||||
- throw new ZipException(
|
|
||||||
- "invalid entry crc-32 (expected 0x" +
|
|
||||||
- Long.toHexString(e.crc) + " but got 0x" +
|
|
||||||
- Long.toHexString(crc.getValue()) + ")");
|
|
||||||
- }
|
|
||||||
- break;
|
|
||||||
- default:
|
|
||||||
- throw new ZipException("invalid compression method");
|
|
||||||
+ crc.reset();
|
|
||||||
+ current = null;
|
|
||||||
+ } catch (IOException e) {
|
|
||||||
+ if (usesDefaultDeflater && !(e instanceof ZipException))
|
|
||||||
+ def.end();
|
|
||||||
+ throw e;
|
|
||||||
}
|
|
||||||
- crc.reset();
|
|
||||||
- current = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/jdk/test/java/util/zip/CloseDeflaterTest.java b/jdk/test/java/util/zip/CloseDeflaterTest.java
|
diff --git a/jdk/test/java/util/zip/CloseDeflaterTest.java b/jdk/test/java/util/zip/CloseDeflaterTest.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000..8aa4960f5
|
index 000000000..8aa4960f5
|
||||||
|
|||||||
@ -831,15 +831,7 @@ index bc06cac..67ef963 100644
|
|||||||
int _n_threads;
|
int _n_threads;
|
||||||
TaskQueueSetSuper* _queue_set;
|
TaskQueueSetSuper* _queue_set;
|
||||||
char _pad_before[DEFAULT_CACHE_LINE_SIZE];
|
char _pad_before[DEFAULT_CACHE_LINE_SIZE];
|
||||||
@@ -634,14 +659,14 @@ public:
|
@@ -641,7 +666,7 @@ public:
|
||||||
// else is. If returns "true", all threads are terminated. If returns
|
|
||||||
// "false", available work has been observed in one of the task queues,
|
|
||||||
// so the global task is not complete.
|
|
||||||
- bool offer_termination() {
|
|
||||||
+ virtual bool offer_termination() {
|
|
||||||
return offer_termination(NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
// As above, but it also terminates if the should_exit_termination()
|
// As above, but it also terminates if the should_exit_termination()
|
||||||
// method of the terminator parameter returns true. If terminator is
|
// method of the terminator parameter returns true. If terminator is
|
||||||
// NULL, then it is ignored.
|
// NULL, then it is ignored.
|
||||||
|
|||||||
@ -1,238 +0,0 @@
|
|||||||
From e5bf7f105c0066f770f5cdc65f94410d45d11f0f Mon Sep 17 00:00:00 2001
|
|
||||||
Subject: 8278794: Infinite loop in DeflaterOutputStream.finish()
|
|
||||||
|
|
||||||
---
|
|
||||||
.../share/classes/java/util/zip/Deflater.java | 10 ++
|
|
||||||
.../java/util/zip/DeflaterOutputStream.java | 14 +-
|
|
||||||
.../java/util/zip/ZipOutputStream.java | 4 +-
|
|
||||||
jdk/test/java/util/zip/CloseDeflaterTest.java | 147 ------------------
|
|
||||||
4 files changed, 22 insertions(+), 153 deletions(-)
|
|
||||||
delete mode 100644 jdk/test/java/util/zip/CloseDeflaterTest.java
|
|
||||||
|
|
||||||
diff --git a/jdk/src/share/classes/java/util/zip/Deflater.java b/jdk/src/share/classes/java/util/zip/Deflater.java
|
|
||||||
index 3bb5f9901..bffa397d9 100644
|
|
||||||
--- a/jdk/src/share/classes/java/util/zip/Deflater.java
|
|
||||||
+++ b/jdk/src/share/classes/java/util/zip/Deflater.java
|
|
||||||
@@ -559,6 +559,16 @@ class Deflater {
|
|
||||||
throw new NullPointerException("Deflater has been closed");
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /**
|
|
||||||
+ * Returns the value of 'finish' flag.
|
|
||||||
+ * 'finish' will be set to true if def.finish() method is called.
|
|
||||||
+ */
|
|
||||||
+ boolean shouldFinish() {
|
|
||||||
+ synchronized (zsRef) {
|
|
||||||
+ return finish;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
private static native void initIDs();
|
|
||||||
private native static long init(int level, int strategy, boolean nowrap);
|
|
||||||
private native static void setDictionary(long addr, byte[] b, int off, int len);
|
|
||||||
diff --git a/jdk/src/share/classes/java/util/zip/DeflaterOutputStream.java b/jdk/src/share/classes/java/util/zip/DeflaterOutputStream.java
|
|
||||||
index f4cf79693..c698a0147 100644
|
|
||||||
--- a/jdk/src/share/classes/java/util/zip/DeflaterOutputStream.java
|
|
||||||
+++ b/jdk/src/share/classes/java/util/zip/DeflaterOutputStream.java
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
/*
|
|
||||||
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
+ * Copyright (c) 1996, 2022, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
*
|
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
|
||||||
@@ -221,9 +221,15 @@ class DeflaterOutputStream extends FilterOutputStream {
|
|
||||||
*/
|
|
||||||
public void finish() throws IOException {
|
|
||||||
if (!def.finished()) {
|
|
||||||
- def.finish();
|
|
||||||
- while (!def.finished()) {
|
|
||||||
- deflate();
|
|
||||||
+ try{
|
|
||||||
+ def.finish();
|
|
||||||
+ while (!def.finished()) {
|
|
||||||
+ deflate();
|
|
||||||
+ }
|
|
||||||
+ } catch(IOException e) {
|
|
||||||
+ if (usesDefaultDeflater)
|
|
||||||
+ def.end();
|
|
||||||
+ throw e;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
diff --git a/jdk/src/share/classes/java/util/zip/ZipOutputStream.java b/jdk/src/share/classes/java/util/zip/ZipOutputStream.java
|
|
||||||
index f001ddf00..cd9194276 100644
|
|
||||||
--- a/jdk/src/share/classes/java/util/zip/ZipOutputStream.java
|
|
||||||
+++ b/jdk/src/share/classes/java/util/zip/ZipOutputStream.java
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
/*
|
|
||||||
- * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
+ * Copyright (c) 1996, 2022, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
*
|
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
|
||||||
@@ -302,7 +302,7 @@ class ZipOutputStream extends DeflaterOutputStream implements ZipConstants {
|
|
||||||
crc.reset();
|
|
||||||
current = null;
|
|
||||||
} catch (IOException e) {
|
|
||||||
- if (usesDefaultDeflater && !(e instanceof ZipException))
|
|
||||||
+ if (def.shouldFinish() && usesDefaultDeflater && !(e instanceof ZipException))
|
|
||||||
def.end();
|
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
diff --git a/jdk/test/java/util/zip/CloseDeflaterTest.java b/jdk/test/java/util/zip/CloseDeflaterTest.java
|
|
||||||
deleted file mode 100644
|
|
||||||
index 8aa4960f5..000000000
|
|
||||||
--- a/jdk/test/java/util/zip/CloseDeflaterTest.java
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,147 +0,0 @@
|
|
||||||
-/*
|
|
||||||
- * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
- *
|
|
||||||
- * This code is free software; you can redistribute it and/or modify it
|
|
||||||
- * under the terms of the GNU General Public License version 2 only, as
|
|
||||||
- * published by the Free Software Foundation.
|
|
||||||
- *
|
|
||||||
- * This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
- * version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
- * accompanied this code).
|
|
||||||
- *
|
|
||||||
- * You should have received a copy of the GNU General Public License version
|
|
||||||
- * 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
- *
|
|
||||||
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
- * or visit www.oracle.com if you need additional information or have any
|
|
||||||
- * questions.
|
|
||||||
- */
|
|
||||||
-
|
|
||||||
-/**
|
|
||||||
- * @test
|
|
||||||
- * @bug 8193682
|
|
||||||
- * @summary Test Infinite loop while writing on closed GZipOutputStream , ZipOutputStream and JarOutputStream.
|
|
||||||
- * @run testng CloseDeflaterTest
|
|
||||||
- */
|
|
||||||
-import java.io.*;
|
|
||||||
-import java.util.Random;
|
|
||||||
-import java.util.jar.JarOutputStream;
|
|
||||||
-import java.util.zip.GZIPOutputStream;
|
|
||||||
-import java.util.zip.ZipOutputStream;
|
|
||||||
-import java.util.zip.ZipEntry;
|
|
||||||
-
|
|
||||||
-import org.testng.annotations.BeforeTest;
|
|
||||||
-import org.testng.annotations.DataProvider;
|
|
||||||
-import org.testng.annotations.Test;
|
|
||||||
-import static org.testng.Assert.fail;
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-public class CloseDeflaterTest {
|
|
||||||
-
|
|
||||||
- //number of bytes to write
|
|
||||||
- private static final int INPUT_LENGTH= 512;
|
|
||||||
- //OutputStream that will throw an exception during a write operation
|
|
||||||
- private static OutputStream outStream = new OutputStream() {
|
|
||||||
- @Override
|
|
||||||
- public void write(byte[] b, int off, int len) throws IOException {
|
|
||||||
- //throw exception during write
|
|
||||||
- throw new IOException();
|
|
||||||
- }
|
|
||||||
- @Override
|
|
||||||
- public void write(byte b[]) throws IOException {}
|
|
||||||
- @Override
|
|
||||||
- public void write(int b) throws IOException {}
|
|
||||||
- };
|
|
||||||
- private static byte[] inputBytes = new byte[INPUT_LENGTH];
|
|
||||||
- private static Random rand = new Random();
|
|
||||||
-
|
|
||||||
- @DataProvider(name = "testgzipinput")
|
|
||||||
- public Object[][] testGZipInput() {
|
|
||||||
- //testGZip will close the GZipOutputStream using close() method when the boolean
|
|
||||||
- //useCloseMethod is set to true and finish() method if the value is set to false
|
|
||||||
- return new Object[][] {
|
|
||||||
- { GZIPOutputStream.class, true },
|
|
||||||
- { GZIPOutputStream.class, false },
|
|
||||||
- };
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- @DataProvider(name = "testzipjarinput")
|
|
||||||
- public Object[][] testZipAndJarInput() {
|
|
||||||
- //testZipAndJarInput will perfrom write/closeEntry operations on JarOutputStream when the boolean
|
|
||||||
- //useJar is set to true and on ZipOutputStream if the value is set to false
|
|
||||||
- return new Object[][] {
|
|
||||||
- { JarOutputStream.class, true },
|
|
||||||
- { ZipOutputStream.class, false },
|
|
||||||
- };
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- @BeforeTest
|
|
||||||
- public void before_test()
|
|
||||||
- {
|
|
||||||
- //add inputBytes array with random bytes to write into Zip
|
|
||||||
- rand.nextBytes(inputBytes);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- //Test for infinite loop by writing bytes to closed GZIPOutputStream
|
|
||||||
- @Test(dataProvider = "testgzipinput")
|
|
||||||
- public void testGZip(Class<?> type, boolean useCloseMethod) throws IOException {
|
|
||||||
- GZIPOutputStream zip = new GZIPOutputStream(outStream);
|
|
||||||
- try {
|
|
||||||
- zip.write(inputBytes, 0, INPUT_LENGTH);
|
|
||||||
- //close zip
|
|
||||||
- if(useCloseMethod) {
|
|
||||||
- zip.close();
|
|
||||||
- } else {
|
|
||||||
- zip.finish();
|
|
||||||
- }
|
|
||||||
- } catch (IOException e) {
|
|
||||||
- //expected
|
|
||||||
- }
|
|
||||||
- for (int i = 0; i < 3; i++) {
|
|
||||||
- try {
|
|
||||||
- //write on a closed GZIPOutputStream
|
|
||||||
- zip.write(inputBytes, 0, INPUT_LENGTH);
|
|
||||||
- fail("Deflater closed exception not thrown");
|
|
||||||
- } catch (NullPointerException e) {
|
|
||||||
- //expected , Deflater has been closed exception
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- //Test for infinite loop by writing bytes to closed ZipOutputStream/JarOutputStream
|
|
||||||
- @Test(dataProvider = "testzipjarinput")
|
|
||||||
- public void testZipCloseEntry(Class<?> type,boolean useJar) throws IOException {
|
|
||||||
- ZipOutputStream zip = null;
|
|
||||||
- if(useJar) {
|
|
||||||
- zip = new JarOutputStream(outStream);
|
|
||||||
- } else {
|
|
||||||
- zip = new ZipOutputStream(outStream);
|
|
||||||
- }
|
|
||||||
- try {
|
|
||||||
- zip.putNextEntry(new ZipEntry(""));
|
|
||||||
- } catch (IOException e) {
|
|
||||||
- //expected to throw IOException since putNextEntry calls write method
|
|
||||||
- }
|
|
||||||
- try {
|
|
||||||
- zip.write(inputBytes, 0, INPUT_LENGTH);
|
|
||||||
- //close zip entry
|
|
||||||
- zip.closeEntry();
|
|
||||||
- } catch (IOException e) {
|
|
||||||
- //expected
|
|
||||||
- }
|
|
||||||
- for (int i = 0; i < 3; i++) {
|
|
||||||
- try {
|
|
||||||
- //write on a closed ZipOutputStream
|
|
||||||
- zip.write(inputBytes, 0, INPUT_LENGTH);
|
|
||||||
- fail("Deflater closed exception not thrown");
|
|
||||||
- } catch (NullPointerException e) {
|
|
||||||
- //expected , Deflater has been closed exception
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
-}
|
|
||||||
--
|
|
||||||
2.22.0
|
|
||||||
|
|
||||||
@ -9,28 +9,6 @@ Subject: 8313626: C2 crash due to unexpected exception control flow
|
|||||||
create mode 100644 jdk/test/jdk/jfr/event/compiler/MissingSafepointOnTryCatch.jasm
|
create mode 100644 jdk/test/jdk/jfr/event/compiler/MissingSafepointOnTryCatch.jasm
|
||||||
create mode 100644 jdk/test/jdk/jfr/event/compiler/TestMissingSafepointOnTryCatch.java
|
create mode 100644 jdk/test/jdk/jfr/event/compiler/TestMissingSafepointOnTryCatch.java
|
||||||
|
|
||||||
diff --git a/hotspot/src/share/vm/opto/doCall.cpp b/hotspot/src/share/vm/opto/doCall.cpp
|
|
||||||
index 1b2b77c71..7a7aba359 100644
|
|
||||||
--- a/hotspot/src/share/vm/opto/doCall.cpp
|
|
||||||
+++ b/hotspot/src/share/vm/opto/doCall.cpp
|
|
||||||
@@ -892,6 +892,8 @@ void Parse::catch_inline_exceptions(SafePointNode* ex_map) {
|
|
||||||
tty->print_cr(" Catching every inline exception bci:%d -> handler_bci:%d", bci(), handler_bci);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
+ // If this is a backwards branch in the bytecodes, add safepoint
|
|
||||||
+ maybe_add_safepoint(handler_bci);
|
|
||||||
merge_exception(handler_bci); // jump to handler
|
|
||||||
return; // No more handling to be done here!
|
|
||||||
}
|
|
||||||
@@ -925,6 +927,8 @@ void Parse::catch_inline_exceptions(SafePointNode* ex_map) {
|
|
||||||
tty->cr();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
+ // If this is a backwards branch in the bytecodes, add safepoint
|
|
||||||
+ maybe_add_safepoint(handler_bci);
|
|
||||||
merge_exception(handler_bci);
|
|
||||||
}
|
|
||||||
set_control(not_subtype_ctrl);
|
|
||||||
diff --git a/jdk/test/jdk/jfr/event/compiler/MissingSafepointOnTryCatch.jasm b/jdk/test/jdk/jfr/event/compiler/MissingSafepointOnTryCatch.jasm
|
diff --git a/jdk/test/jdk/jfr/event/compiler/MissingSafepointOnTryCatch.jasm b/jdk/test/jdk/jfr/event/compiler/MissingSafepointOnTryCatch.jasm
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000..413736e59
|
index 000000000..413736e59
|
||||||
|
|||||||
@ -340,185 +340,6 @@ index ff59c5ecc..8b0c08909 100644
|
|||||||
while (length-- > 0)
|
while (length-- > 0)
|
||||||
h = 31*h + *s++;
|
h = 31*h + *s++;
|
||||||
return h;
|
return h;
|
||||||
diff --git a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
|
|
||||||
index 7e1d8c99d..1cd9e8bdb 100644
|
|
||||||
--- a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
|
|
||||||
+++ b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
|
|
||||||
@@ -1131,6 +1131,10 @@ imageio_skip_input_data(j_decompress_ptr cinfo, long num_bytes)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
num_bytes += sb->remaining_skip;
|
|
||||||
+ // Check for overflow if remaining_skip value is too large
|
|
||||||
+ if (num_bytes < 0) {
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
sb->remaining_skip = 0;
|
|
||||||
|
|
||||||
/* First the easy case where we are skipping <= the current contents. */
|
|
||||||
diff --git a/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c b/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c
|
|
||||||
index cea158e17..2f64d33cc 100644
|
|
||||||
--- a/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c
|
|
||||||
+++ b/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c
|
|
||||||
@@ -406,6 +406,10 @@ sun_jpeg_skip_input_data(j_decompress_ptr cinfo, long num_bytes)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
num_bytes += src->remaining_skip;
|
|
||||||
+ // Check for overflow if remaining_skip value is too large
|
|
||||||
+ if (num_bytes < 0) {
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
src->remaining_skip = 0;
|
|
||||||
ret = (int)src->pub.bytes_in_buffer; /* this conversion is safe, because capacity of the buffer is limited by jnit */
|
|
||||||
if (ret >= num_bytes) {
|
|
||||||
diff --git a/jdk/test/javax/sound/midi/File/SMFInterruptedRunningStatus.java b/jdk/test/javax/sound/midi/File/SMFInterruptedRunningStatus.java
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000..1b82e2f73
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/jdk/test/javax/sound/midi/File/SMFInterruptedRunningStatus.java
|
|
||||||
@@ -0,0 +1,143 @@
|
|
||||||
+/*
|
|
||||||
+ * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
+ *
|
|
||||||
+ * This code is free software; you can redistribute it and/or modify it
|
|
||||||
+ * under the terms of the GNU General Public License version 2 only, as
|
|
||||||
+ * published by the Free Software Foundation.
|
|
||||||
+ *
|
|
||||||
+ * This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
+ * version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
+ * accompanied this code).
|
|
||||||
+ *
|
|
||||||
+ * You should have received a copy of the GNU General Public License version
|
|
||||||
+ * 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
+ *
|
|
||||||
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
+ * or visit www.oracle.com if you need additional information or have any
|
|
||||||
+ * questions.
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+import java.io.ByteArrayInputStream;
|
|
||||||
+
|
|
||||||
+import javax.sound.midi.MidiSystem;
|
|
||||||
+import javax.sound.midi.Sequence;
|
|
||||||
+import javax.sound.midi.Track;
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * @test
|
|
||||||
+ * @bug 8319598
|
|
||||||
+ * @summary SMFParser bug with running status, interrupted by Meta or SysEx messages
|
|
||||||
+ */
|
|
||||||
+public class SMFInterruptedRunningStatus {
|
|
||||||
+
|
|
||||||
+ public static void main(String[] args) throws Exception {
|
|
||||||
+
|
|
||||||
+ byte[][] files = new byte[][] {SMF_1, SMF_2, SMF_3};
|
|
||||||
+ for (int i = 0; i < files.length; i++) {
|
|
||||||
+ Sequence seq = MidiSystem.getSequence(
|
|
||||||
+ new ByteArrayInputStream(files[i]));
|
|
||||||
+ testSequence(seq, i + 1);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ // no exception thrown, all files have been parsed correctly
|
|
||||||
+ System.out.println("Test passed");
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private static void testSequence(Sequence seq, int fileNumber) {
|
|
||||||
+
|
|
||||||
+ // check number of tracks and number of events
|
|
||||||
+ Track[] tracks = seq.getTracks();
|
|
||||||
+ if (1 != tracks.length) {
|
|
||||||
+ throw new RuntimeException("file number "
|
|
||||||
+ + fileNumber + " fails (incorrect number of tracks: "
|
|
||||||
+ + tracks.length + ")");
|
|
||||||
+ }
|
|
||||||
+ Track track = tracks[0];
|
|
||||||
+ if (7 != track.size()) {
|
|
||||||
+ throw new RuntimeException("file number " + fileNumber
|
|
||||||
+ + " fails (incorrect number of events: "
|
|
||||||
+ + track.size() + ")");
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ // check status byte of each message
|
|
||||||
+ int[] expectedStatusBytes = new int[] {
|
|
||||||
+ 0x90, 0xFF, 0x90, 0x90, 0x90, 0xFF, 0xFF};
|
|
||||||
+ for (int i = 0; i < expectedStatusBytes.length; i++) {
|
|
||||||
+ int expected = expectedStatusBytes[i];
|
|
||||||
+ if (expected != track.get(i).getMessage().getStatus()) {
|
|
||||||
+ throw new RuntimeException("file number " + fileNumber
|
|
||||||
+ + " fails (wrong status byte in event " + i + ")");
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ // MIDI file without running status - should work equally before
|
|
||||||
+ // and after the bugfix
|
|
||||||
+ private static final byte[] SMF_1 = {
|
|
||||||
+ 0x4D, 0x54, 0x68, 0x64, 0x00, 0x00, 0x00, 0x06, // file header (start)
|
|
||||||
+ 0x00, 0x01, 0x00, 0x01, 0x00, (byte) 0x80, // file header (end)
|
|
||||||
+ 0x4D, 0x54, 0x72, 0x6B, 0x00, 0x00, 0x00, 0x24, // track header
|
|
||||||
+ 0x00, // delta time
|
|
||||||
+ (byte) 0x90, 0x3C, 0x7F, // Note-ON (C)
|
|
||||||
+ 0x40, // delta time
|
|
||||||
+ (byte) 0xFF, 0x01, 0x04, 0x54, 0x65, 0x73, 0x74, // META (text)
|
|
||||||
+ 0x20, // delta time
|
|
||||||
+ (byte) 0x90, 0x3C, 0x00, // Note-OFF (C)
|
|
||||||
+ 0x20, // delta time
|
|
||||||
+ (byte) 0x90, 0x3E, 0x7F, // Note-ON (D)
|
|
||||||
+ 0x60, // delta time
|
|
||||||
+ (byte) 0x90, 0x3E, 0x00, // Note-OFF (D)
|
|
||||||
+ 0x20, // delta time
|
|
||||||
+ (byte) 0xFF, 0x01, 0x04, 0x54, 0x65, 0x73, 0x74, // META (text)
|
|
||||||
+ 0x00, // delta time
|
|
||||||
+ (byte) 0xFF, 0x2F, 0x00 // META (end of track)
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ // MIDI file with running status, interrupted by a META message
|
|
||||||
+ // - failed before the bugfix
|
|
||||||
+ private static final byte[] SMF_2 = {
|
|
||||||
+ 0x4D, 0x54, 0x68, 0x64, 0x00, 0x00, 0x00, 0x06, // file header (start)
|
|
||||||
+ 0x00, 0x01, 0x00, 0x01, 0x00, (byte) 0x80, // file header (end)
|
|
||||||
+ 0x4D, 0x54, 0x72, 0x6B, 0x00, 0x00, 0x00, 0x21, // track header
|
|
||||||
+ 0x00, // delta time
|
|
||||||
+ (byte) 0x90, 0x3C, 0x7F, // Note-ON (C)
|
|
||||||
+ 0x40, // delta time
|
|
||||||
+ (byte) 0xFF, 0x01, 0x04, 0x54, 0x65, 0x73, 0x74, // META (interruptor)
|
|
||||||
+ 0x20, // delta time
|
|
||||||
+ 0x3C, 0x00, // Note-OFF (C) - running status
|
|
||||||
+ 0x20, // delta time
|
|
||||||
+ 0x3E, 0x7F, // Note-ON (D) - running status
|
|
||||||
+ 0x60, // delta time
|
|
||||||
+ 0x3E, 0x00, // Note-OFF (D) - running status
|
|
||||||
+ 0x20, // delta time
|
|
||||||
+ (byte) 0xFF, 0x01, 0x04, 0x54, 0x65, 0x73, 0x74, // META (text)
|
|
||||||
+ 0x00, // delta time
|
|
||||||
+ (byte) 0xFF, 0x2F, 0x00 // META (end of track)
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ // MIDI file with running status, interrupted by a META message
|
|
||||||
+ // - succeeded before the bugfix but with wrong interpretation of the data
|
|
||||||
+ private static final byte[] SMF_3 = {
|
|
||||||
+ 0x4D, 0x54, 0x68, 0x64, 0x00, 0x00, 0x00, 0x06, // file header (start)
|
|
||||||
+ 0x00, 0x01, 0x00, 0x01, 0x00, (byte) 0x80, // file header (end)
|
|
||||||
+ 0x4D, 0x54, 0x72, 0x6B, 0x00, 0x00, 0x00, 0x21, // track header
|
|
||||||
+ 0x00, // delta time
|
|
||||||
+ (byte) 0x90, 0x3C, 0x7F, // Note-ON (C)
|
|
||||||
+ 0x40, // delta time
|
|
||||||
+ (byte) 0xFF, 0x01, 0x04, 0x54, 0x65, 0x73, 0x74, // META (interruptor)
|
|
||||||
+ 0x20, // delta time
|
|
||||||
+ 0x3C, 0x00, // Note-OFF (C) - running status
|
|
||||||
+ 0x0D, // delta time
|
|
||||||
+ 0x3E, 0x7F, // Note-ON (D) - running status
|
|
||||||
+ 0x60, // delta time
|
|
||||||
+ 0x3E, 0x00, // Note-OFF (D) - running status
|
|
||||||
+ 0x20, // delta time
|
|
||||||
+ (byte) 0xFF, 0x01, 0x04, 0x54, 0x65, 0x73, 0x74, // META (text)
|
|
||||||
+ 0x00, // delta time
|
|
||||||
+ (byte) 0xFF, 0x2F, 0x00 // META (end of track)
|
|
||||||
+ };
|
|
||||||
+}
|
|
||||||
--
|
--
|
||||||
2.23.0
|
2.23.0
|
||||||
|
|
||||||
|
|||||||
@ -13,8 +13,8 @@ index 7dde7f096..d122f0eae 100644
|
|||||||
WARNINGS_ARE_ERRORS += -Wno-return-type -Wno-empty-body
|
WARNINGS_ARE_ERRORS += -Wno-return-type -Wno-empty-body
|
||||||
endif
|
endif
|
||||||
|
|
||||||
-WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wformat=2 -Wreturn-type
|
-WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wformat=2 -Wreturn-type -Woverloaded-virtual
|
||||||
+WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wformat=2 -Wreturn-type -Wno-stringop-overflow
|
+WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wformat=2 -Wreturn-type -Woverloaded-virtual -Wno-stringop-overflow
|
||||||
|
|
||||||
ifeq ($(USE_CLANG),)
|
ifeq ($(USE_CLANG),)
|
||||||
# Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
|
# Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
|
||||||
|
|||||||
40
Huawei-Fix-build-failures-due-to-wrap-in-x86.patch
Normal file
40
Huawei-Fix-build-failures-due-to-wrap-in-x86.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
Subject: Fix build failures due to wrap in x86
|
||||||
|
|
||||||
|
---
|
||||||
|
hotspot/make/linux/makefiles/adlc.make | 20 +++++++++++++++++++-
|
||||||
|
1 file changed, 19 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/hotspot/make/linux/makefiles/adlc.make b/hotspot/make/linux/makefiles/adlc.make
|
||||||
|
index a01aa1aaa..92728fbe7 100644
|
||||||
|
--- a/hotspot/make/linux/makefiles/adlc.make
|
||||||
|
+++ b/hotspot/make/linux/makefiles/adlc.make
|
||||||
|
@@ -70,8 +70,26 @@ CFLAGS_WARN = $(WARNINGS_ARE_ERRORS)
|
||||||
|
CFLAGS += $(CFLAGS_WARN)
|
||||||
|
|
||||||
|
# Extra flags from gnumake's invocation or environment
|
||||||
|
+# Adapt wrap for JDK-8281096:Flags introduced by configure script are not passed to ADLC build
|
||||||
|
+WRAP_STR := -Wl,--wrap
|
||||||
|
+WRAP_MEM := ,--wrap=memcpy
|
||||||
|
+WRAP_NULL :=
|
||||||
|
+WRAP_LIBPTHREAD := libpthread.so.0
|
||||||
|
+WRAP_LIBDL := libdl.so.2
|
||||||
|
+WRAP_LM := -lm
|
||||||
|
+HOST_LDFLAGS_ADOPT_WRAP := $(HOST_LDFLAGS)
|
||||||
|
+
|
||||||
|
+ifeq ($(findstring --wrap=,$(HOST_LDFLAGS)),--wrap=)
|
||||||
|
+ HOST_LDFLAGS_ADOPT_WRAP := $(subst $(WRAP_MEM),$(WRAP_NULL),$(HOST_LDFLAGS_ADOPT_WRAP))
|
||||||
|
+ HOST_LDFLAGS_ADOPT_WRAP := $(subst $(WRAP_LIBPTHREAD),$(WRAP_NULL),$(HOST_LDFLAGS_ADOPT_WRAP))
|
||||||
|
+ HOST_LDFLAGS_ADOPT_WRAP := $(subst $(WRAP_LIBDL),$(WRAP_NULL),$(HOST_LDFLAGS_ADOPT_WRAP))
|
||||||
|
+ HOST_LDFLAGS_ADOPT_WRAP := $(subst $(WRAP_LM),$(WRAP_NULL),$(HOST_LDFLAGS_ADOPT_WRAP))
|
||||||
|
+ FILTERED_WRAP := $(filter $(WRAP_STR)%,$(HOST_LDFLAGS_ADOPT_WRAP))
|
||||||
|
+ HOST_LDFLAGS_ADOPT_WRAP := $(patsubst %$(FILTERED_WRAP),$(WRAP_NULL),$(HOST_LDFLAGS_ADOPT_WRAP))
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
CFLAGS += $(HOST_CFLAGS)
|
||||||
|
-LFLAGS += $(HOST_CFLAGS) $(HOST_LDFLAGS)
|
||||||
|
+LFLAGS += $(HOST_CFLAGS) $(HOST_LDFLAGS_ADOPT_WRAP)
|
||||||
|
ASFLAGS += $(HOST_ASFLAGS)
|
||||||
|
|
||||||
|
OBJECTNAMES = \
|
||||||
|
--
|
||||||
|
2.37.7
|
||||||
@ -91,7 +91,7 @@ index 00000000..9b614024
|
|||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/version.txt
|
+++ b/version.txt
|
||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+8.412.8.0.13
|
+8.432.8.0.13
|
||||||
--
|
--
|
||||||
2.23.0
|
2.23.0
|
||||||
|
|
||||||
|
|||||||
@ -40,13 +40,13 @@ index 54e1bfa0d..c1423dc5b 100644
|
|||||||
|
|
||||||
// The numbers of certs now.
|
// The numbers of certs now.
|
||||||
- private static final int COUNT = 83;
|
- private static final int COUNT = 83;
|
||||||
+ private static final int COUNT = 104;
|
+ private static final int COUNT = 106;
|
||||||
|
|
||||||
// SHA-256 of cacerts, can be generated with
|
// SHA-256 of cacerts, can be generated with
|
||||||
// shasum -a 256 cacerts | sed -e 's/../&:/g' | tr '[:lower:]' '[:upper:]' | cut -c1-95
|
// shasum -a 256 cacerts | sed -e 's/../&:/g' | tr '[:lower:]' '[:upper:]' | cut -c1-95
|
||||||
private static final String CHECKSUM
|
private static final String CHECKSUM
|
||||||
- = "2D:04:88:6C:52:53:54:EB:38:2D:BC:E0:AF:B7:82:F4:9E:32:A8:1A:1B:A3:AE:CF:25:CB:C2:F6:0F:4E:E1:20";
|
- = "2D:04:88:6C:52:53:54:EB:38:2D:BC:E0:AF:B7:82:F4:9E:32:A8:1A:1B:A3:AE:CF:25:CB:C2:F6:0F:4E:E1:20";
|
||||||
+ = "1C:10:89:F9:32:8C:05:D1:10:90:27:7F:66:21:28:71:79:8F:55:44:6C:08:BA:00:48:C0:D4:7A:0D:3B:9C:45";
|
+ = "73:5F:49:B0:EC:C0:E4:43:27:B1:5F:D1:9B:A7:8A:05:B4:25:84:A6:81:9F:FC:A7:A7:04:8F:86:82:97:FF:7C";
|
||||||
|
|
||||||
// map of cert alias to SHA-256 fingerprint
|
// map of cert alias to SHA-256 fingerprint
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
|
|||||||
Binary file not shown.
@ -20,6 +20,8 @@
|
|||||||
%bcond_without slowdebug
|
%bcond_without slowdebug
|
||||||
# Enable release builds by default on relevant arches.
|
# Enable release builds by default on relevant arches.
|
||||||
%bcond_without release
|
%bcond_without release
|
||||||
|
# Disable global LTO
|
||||||
|
%define _lto_cflags %{nil}
|
||||||
|
|
||||||
# The -g flag says to use strip -g instead of full strip on DSOs or EXEs.
|
# The -g flag says to use strip -g instead of full strip on DSOs or EXEs.
|
||||||
# This fixes detailed NMT and other tools which need minimal debug info.
|
# This fixes detailed NMT and other tools which need minimal debug info.
|
||||||
@ -172,13 +174,13 @@
|
|||||||
%global origin_nice OpenJDK
|
%global origin_nice OpenJDK
|
||||||
%global top_level_dir_name %{origin}
|
%global top_level_dir_name %{origin}
|
||||||
%global repo jdk8u
|
%global repo jdk8u
|
||||||
%global revision jdk8u422-b05
|
%global revision jdk8u432-b06
|
||||||
%global full_revision %{repo}-%{revision}
|
%global full_revision %{repo}-%{revision}
|
||||||
# Define IcedTea version used for SystemTap tapsets and desktop files
|
# Define IcedTea version used for SystemTap tapsets and desktop files
|
||||||
%global icedteaver 3.15.0
|
%global icedteaver 3.15.0
|
||||||
|
|
||||||
%global updatever 422
|
%global updatever 432
|
||||||
%global buildver b05
|
%global buildver b06
|
||||||
# priority must be 7 digits in total. The expression is workarounding tip
|
# priority must be 7 digits in total. The expression is workarounding tip
|
||||||
%global priority 1800%{updatever}
|
%global priority 1800%{updatever}
|
||||||
|
|
||||||
@ -945,7 +947,7 @@ Provides: java-%{javaver}-%{origin}-accessibility%{?1} = %{epoch}:%{version}-%{r
|
|||||||
|
|
||||||
Name: java-%{javaver}-%{origin}
|
Name: java-%{javaver}-%{origin}
|
||||||
Version: %{javaver}.%{updatever}.%{buildver}
|
Version: %{javaver}.%{updatever}.%{buildver}
|
||||||
Release: 11
|
Release: 0
|
||||||
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
|
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
|
||||||
# and this change was brought into RHEL-4. java-1.5.0-ibm packages
|
# and this change was brought into RHEL-4. java-1.5.0-ibm packages
|
||||||
# also included the epoch in their virtual provides. This created a
|
# also included the epoch in their virtual provides. This created a
|
||||||
@ -1304,7 +1306,6 @@ Patch403: 8193682-Infinite-loop-in-ZipOutputStream.close.patch
|
|||||||
Patch404: 8285516-clearPassword-should-be-called-in-a-finally-.patch
|
Patch404: 8285516-clearPassword-should-be-called-in-a-finally-.patch
|
||||||
Patch405: 8148470-Metadata-print-routines-should-not-print-to-.patch
|
Patch405: 8148470-Metadata-print-routines-should-not-print-to-.patch
|
||||||
Patch406: 8293344-JDK-8242181-broke-stack-printing-for-non-att.patch
|
Patch406: 8293344-JDK-8242181-broke-stack-printing-for-non-att.patch
|
||||||
Patch407: 8278794-Infinite-loop-in-DeflaterOutputStream.finish.patch
|
|
||||||
Patch408: 8312065-Socket.connect-does-not-timeout-when-profili.patch
|
Patch408: 8312065-Socket.connect-does-not-timeout-when-profili.patch
|
||||||
Patch409: Add-Problemlist.patch
|
Patch409: Add-Problemlist.patch
|
||||||
Patch410: Fix-an-error-caused-by-anonymous-when-AppCDS-generat.patch
|
Patch410: Fix-an-error-caused-by-anonymous-when-AppCDS-generat.patch
|
||||||
@ -1350,6 +1351,9 @@ Patch446: 8137165-Tests-fail-in-SR_Handler-because-thread-is-n.patch
|
|||||||
Patch447: heap-dump-redact-support.patch
|
Patch447: heap-dump-redact-support.patch
|
||||||
Patch448: KAE-zip-support-streaming-data-decompression.patch
|
Patch448: KAE-zip-support-streaming-data-decompression.patch
|
||||||
Patch449: Enhance-SIGBUS-and-rlimit-information-in-errlog.patch
|
Patch449: Enhance-SIGBUS-and-rlimit-information-in-errlog.patch
|
||||||
|
|
||||||
|
#433
|
||||||
|
Patch450: Huawei-Fix-build-failures-due-to-wrap-in-x86.patch
|
||||||
#############################################
|
#############################################
|
||||||
#
|
#
|
||||||
# Upstreamable patches
|
# Upstreamable patches
|
||||||
@ -1971,7 +1975,6 @@ pushd %{top_level_dir_name}
|
|||||||
%patch404 -p1
|
%patch404 -p1
|
||||||
%patch405 -p1
|
%patch405 -p1
|
||||||
%patch406 -p1
|
%patch406 -p1
|
||||||
%patch407 -p1
|
|
||||||
%patch408 -p1
|
%patch408 -p1
|
||||||
%patch409 -p1
|
%patch409 -p1
|
||||||
%patch410 -p1
|
%patch410 -p1
|
||||||
@ -2013,6 +2016,7 @@ pushd %{top_level_dir_name}
|
|||||||
%patch447 -p1
|
%patch447 -p1
|
||||||
%patch448 -p1
|
%patch448 -p1
|
||||||
%patch449 -p1
|
%patch449 -p1
|
||||||
|
%patch450 -p1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch loongarch64
|
%ifarch loongarch64
|
||||||
@ -2678,6 +2682,17 @@ cjc.mainProgram(args) -- the returns from copy_jdk_configs.lua should not affect
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Oct 17 2024 Autistic_boyya <wangzhongyi7@huawei.com> -1:1.8.0.432-b05.rolling
|
||||||
|
- modified 8014628-Support-AES-Encryption-with-HMAC-SHA2-for-Ke.patch
|
||||||
|
- modified 8193682-Infinite-loop-in-ZipOutputStream.close.patch
|
||||||
|
- modified 8313626-C2-crash-due-to-unexpected-exception-control.patch
|
||||||
|
- modified Backport-8318889-Backport-Important-Fixed-Issues-in-Later-Ver.patch
|
||||||
|
- modified GCC-12-reports-some-compiler-warnings.patch
|
||||||
|
- modified add-missing-test-case.patch
|
||||||
|
- modified fix_X509TrustManagerImpl_symantec_distrust.patch
|
||||||
|
- modified update-cacerts-and-VerifyCACerts.java-test.patch
|
||||||
|
- deleted 8278794-Infinite-loop-in-DeflaterOutputStream.finish.patch
|
||||||
|
|
||||||
* Fri Sep 6 2024 Benshuai5D <zhangyunbo7@huawei.com> -1:1.8.0.422-b05.11
|
* Fri Sep 6 2024 Benshuai5D <zhangyunbo7@huawei.com> -1:1.8.0.422-b05.11
|
||||||
- add Enhance-SIGBUS-and-rlimit-information-in-errlog.patch
|
- add Enhance-SIGBUS-and-rlimit-information-in-errlog.patch
|
||||||
|
|
||||||
|
|||||||
@ -257,13 +257,13 @@ index dd107fc..791ddb6 100644
|
|||||||
+ File.separator + "security" + File.separator + "cacerts";
|
+ File.separator + "security" + File.separator + "cacerts";
|
||||||
|
|
||||||
// The numbers of certs now.
|
// The numbers of certs now.
|
||||||
- private static final int COUNT = 110;
|
- private static final int COUNT = 112;
|
||||||
+ private static final int COUNT = 83;
|
+ private static final int COUNT = 83;
|
||||||
|
|
||||||
// SHA-256 of cacerts, can be generated with
|
// SHA-256 of cacerts, can be generated with
|
||||||
// shasum -a 256 cacerts | sed -e 's/../&:/g' | tr '[:lower:]' '[:upper:]' | cut -c1-95
|
// shasum -a 256 cacerts | sed -e 's/../&:/g' | tr '[:lower:]' '[:upper:]' | cut -c1-95
|
||||||
private static final String CHECKSUM
|
private static final String CHECKSUM
|
||||||
- = "C1:68:B4:AC:51:BF:B5:C6:FD:20:69:17:E1:AF:E4:5B:01:9B:AA:3F:C3:9A:80:A8:51:53:74:2C:A2:04:B0:FF";
|
- = "8F:E0:6F:7F:21:59:33:A6:43:F3:48:FD:A3:4A:8E:28:35:AA:DD:6E:A5:43:56:F1:28:34:48:DF:5C:D2:7C:72";
|
||||||
+ = "2D:04:88:6C:52:53:54:EB:38:2D:BC:E0:AF:B7:82:F4:9E:32:A8:1A:1B:A3:AE:CF:25:CB:C2:F6:0F:4E:E1:20";
|
+ = "2D:04:88:6C:52:53:54:EB:38:2D:BC:E0:AF:B7:82:F4:9E:32:A8:1A:1B:A3:AE:CF:25:CB:C2:F6:0F:4E:E1:20";
|
||||||
|
|
||||||
// map of cert alias to SHA-256 fingerprint
|
// map of cert alias to SHA-256 fingerprint
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user