From 7b5e37102db0a19a0550c3d48fdcc61c58848ae9 Mon Sep 17 00:00:00 2001 From: Peter Shipton Date: Wed, 16 Dec 2020 18:04:21 -0500 Subject: [PATCH] PlatformLoggingMXBean.setLoggerLevel() should allow null level A null level is allowed according to the spec. The implementation is calling a parse helper which doesn't accept null values. Problem discovered via OpenJDK test java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java Signed-off-by: Peter Shipton --- .../lang/management/internal/LoggingMXBeanImpl.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/jcl/src/java.management/share/classes/com/ibm/java/lang/management/internal/LoggingMXBeanImpl.java b/jcl/src/java.management/share/classes/com/ibm/java/lang/management/internal/LoggingMXBeanImpl.java index f892fbd9650..0030818b797 100644 --- a/jcl/src/java.management/share/classes/com/ibm/java/lang/management/internal/LoggingMXBeanImpl.java +++ b/jcl/src/java.management/share/classes/com/ibm/java/lang/management/internal/LoggingMXBeanImpl.java @@ -300,13 +300,19 @@ public void setLoggerLevel(String loggerName, String levelName) { // a valid level name. /*[IF Sidecar19-SE]*/ try { - Object newLevel = level_parse.invoke(null, levelName); + Object newLevel = null; + if (levelName != null) { + newLevel = level_parse.invoke(null, levelName); + } logger_setLevel.invoke(logger, newLevel); } catch (Exception e) { throw handleError(e); } /*[ELSE]*/ - Level newLevel = Level.parse(levelName); + Level newLevel = null; + if (levelName != null) { + newLevel = Level.parse(levelName); + } logger.setLevel(newLevel); /*[ENDIF]*/ } else {