From 20b163193944e373e4e0e9cb4927d373bdfd46d8 Mon Sep 17 00:00:00 2001 From: kuenking111 Date: Thu, 17 Jun 2021 19:02:54 +0800 Subject: [PATCH] I3W1BL: systemDictionary reslove class parser miss resourceMark --- openjdk-1.8.0.spec | 5 ++++- update-to-keep-same-with-master.patch | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/openjdk-1.8.0.spec b/openjdk-1.8.0.spec index 1770944..f63e9a9 100644 --- a/openjdk-1.8.0.spec +++ b/openjdk-1.8.0.spec @@ -918,7 +918,7 @@ Provides: java-%{javaver}-%{origin}-accessibility%{?1} = %{epoch}:%{version}-%{r Name: java-%{javaver}-%{origin} Version: %{javaver}.%{updatever}.%{buildver} -Release: 13 +Release: 14 # 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 # also included the epoch in their virtual provides. This created a @@ -2182,6 +2182,9 @@ require "copy_jdk_configs.lua" %endif %changelog +* Thu Jun 17 2021 kuenking111 - 1:1.8.0.292-b10.14 +- fix systemDictionary resolve_from_stream ResourceMark + * Wed Jun 16 2021 kuenking111 - 1:1.8.0.292-b10.13 - add fix_G1GC_memory_leak_in_numa.patch diff --git a/update-to-keep-same-with-master.patch b/update-to-keep-same-with-master.patch index aeae53f..032e067 100644 --- a/update-to-keep-same-with-master.patch +++ b/update-to-keep-same-with-master.patch @@ -23,7 +23,7 @@ index c3dec0a30..201dd9594 100644 *index = '\0'; // chop to just the package name while ((index = strchr(name, '/')) != NULL) { *index = '.'; // replace '/' with '.' in package name -@@ -1170,29 +1170,31 @@ Klass* SystemDictionary::resolve_from_stream(Symbol* class_name, +@@ -1170,29 +1170,32 @@ Klass* SystemDictionary::resolve_from_stream(Symbol* class_name, !class_loader.is_null() && parsed_name != NULL && parsed_name->utf8_length() >= (int)pkglen) { @@ -50,6 +50,7 @@ index c3dec0a30..201dd9594 100644 - Exceptions::_throw_msg(THREAD_AND_LOCATION, - vmSymbols::java_lang_SecurityException(), message); - } ++ ResourceMark rm(THREAD); + bool prohibited; + const jbyte* base = parsed_name->base(); + if ((base[0] | base[1] | base[2] | base[3] | base[4]) & 0x80) { -- Gitee