gnu: openjdk9: Fix time bomb in ‘GenerateCurrencyData.java’.

Fixes <https://issues.guix.gnu.org/68333>, as well.
This is a companion to commit 5c0f77f424.

* gnu/packages/java.scm (openjdk9)[source]: Add patch.
* gnu/packages/patches/openjdk-currency-time-bomb.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Change-Id: I45ca1fe5bad922307eba64d46a330a8f233c0f55
This commit is contained in:
Ricardo Wurmus 2024-01-10 21:52:33 +01:00
parent 6c453e04b8
commit db7488a7fb
No known key found for this signature in database
GPG key ID: 197A5888235FACAC
3 changed files with 17 additions and 2 deletions

View file

@ -7,7 +7,7 @@
# Copyright © 2016, 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
# Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
# Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2016-2024 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
# Copyright © 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
# Copyright © 2016-2023 Efraim Flashner <efraim@flashner.co.il>
@ -1743,6 +1743,7 @@ dist_patch_DATA = \
%D%/packages/patches/openboardview-use-system-mpc.patch \
%D%/packages/patches/openbox-python3.patch \
%D%/packages/patches/opencolorio-fix-build-with-gcc11.patch \
%D%/patches/openjdk-currency-time-bomb.patch \
%D%/packages/patches/openjdk-9-pointer-comparison.patch \
%D%/packages/patches/openjdk-9-setsignalhandler.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \

View file

@ -880,7 +880,8 @@ (define-public openjdk9
(base32
"1v92nzdqx07c35x945awzir4yk0fk22vky6fpp8mq9js930sxsz0"))
(patches (search-patches "openjdk-9-pointer-comparison.patch"
"openjdk-9-setsignalhandler.patch"))))
"openjdk-9-setsignalhandler.patch"
"openjdk-currency-time-bomb.patch"))))
(build-system gnu-build-system)
(outputs '("out" "jdk" "doc"))
(arguments

View file

@ -0,0 +1,13 @@
Fix a time bomb present in the OpenJDK tools.
--- a/jdk/make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
+++ b/jdk/make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
@@ -285,7 +285,7 @@ public class GenerateCurrencyData {
String timeString = currencyInfo.substring(4, length - 4);
long time = format.parse(timeString).getTime();
if (Math.abs(time - System.currentTimeMillis()) > ((long) 10) * 365 * 24 * 60 * 60 * 1000) {
- throw new RuntimeException("time is more than 10 years from present: " + time);
+ System.err.println("note: time is more than 10 years from \"present\": " + time);
}
specialCaseCutOverTimes[specialCaseCount] = time;
specialCaseOldCurrencies[specialCaseCount] = oldCurrency;