7020522: Need to reapply the fix for 6664512
authordcherepanov
Fri, 25 Feb 2011 13:58:54 +0300
changeset 8512 fde784daa420
parent 8511 03f27f19986c
child 8513 101b3095ff5a
7020522: Need to reapply the fix for 6664512 Reviewed-by: art, mchung
jdk/src/share/classes/sun/util/logging/PlatformLogger.java
--- a/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	Thu Feb 24 13:01:01 2011 +0300
+++ b/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	Fri Feb 25 13:58:54 2011 +0300
@@ -535,7 +535,14 @@
         }
 
         void doLog(int level, String msg, Object... params) {
-            LoggingSupport.log(javaLogger, levelObjects.get(level), msg, params);
+            // only pass String objects to the j.u.l.Logger which may
+            // be created by untrusted code
+            int len = (params != null) ? params.length : 0;
+            Object[] sparams = new String[len];
+            for (int i = 0; i < len; i++) {
+                sparams [i] = String.valueOf(params[i]);
+            }
+            LoggingSupport.log(javaLogger, levelObjects.get(level), msg, sparams);
         }
 
         boolean isEnabled() {