From 48012a9d52a31e7a34bbae696909860aa9f2d2c1 Mon Sep 17 00:00:00 2001 From: WilburZjh Date: Thu, 4 Jan 2024 10:36:18 -0500 Subject: [PATCH] Restore behavior on platforms where CRIU is supported but not in use This PR aims to fix an issue on how to read random data and get random bytes on platforms where CRIU is supported, but not in use by enabling it via a --enable-criu-support JVM option. --- .../unix/classes/sun/security/provider/NativePRNG.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/java.base/unix/classes/sun/security/provider/NativePRNG.java b/src/java.base/unix/classes/sun/security/provider/NativePRNG.java index ac618f254dc..fbdce1125ff 100644 --- a/src/java.base/unix/classes/sun/security/provider/NativePRNG.java +++ b/src/java.base/unix/classes/sun/security/provider/NativePRNG.java @@ -25,7 +25,7 @@ /* * =========================================================================== - * (c) Copyright IBM Corp. 2022, 2023 All Rights Reserved + * (c) Copyright IBM Corp. 2022, 2024 All Rights Reserved * =========================================================================== */ @@ -508,8 +508,9 @@ private static void readFully(InputStream in, byte[] data, Variant variant) if (in.readNBytes(data, 0, len) < len) { throw new IOException("Could not read from file(s)"); } + return; } - /*[ELSE] CRIU_SUPPORT */ + /*[ENDIF] CRIU_SUPPORT */ int ofs = 0; while (len > 0) { int k = in.read(data, ofs, len); @@ -522,7 +523,6 @@ private static void readFully(InputStream in, byte[] data, Variant variant) if (len > 0) { throw new IOException("Could not read from file(s)"); } - /*[ENDIF] CRIU_SUPPORT */ } // get true random bytes, just read from "seed" @@ -634,8 +634,9 @@ private void implNextBytes(byte[] data) { for (int i = 0; i < data.length; i++) { data[i] ^= rawData[i]; } + return; } - /*[ELSE] CRIU_SUPPORT */ + /*[ENDIF] CRIU_SUPPORT */ int data_len = data.length; int ofs = 0; int len; @@ -665,7 +666,6 @@ private void implNextBytes(byte[] data) { } data_len -= len; } - /*[ENDIF] CRIU_SUPPORT */ } catch (IOException e){ throw new ProviderException("nextBytes() failed", e); }