diff --git a/jdk/src/share/classes/javax/swing/event/EventListenerList.java b/jdk/src/share/classes/javax/swing/event/EventListenerList.java index 237bf2067b2..28b0f313b90 100644 --- a/jdk/src/share/classes/javax/swing/event/EventListenerList.java +++ b/jdk/src/share/classes/javax/swing/event/EventListenerList.java @@ -27,6 +27,7 @@ package javax.swing.event; import java.io.*; import java.util.*; import java.lang.reflect.Array; +import sun.reflect.misc.ReflectUtil; /** * A class that holds a list of EventListeners. A single instance @@ -271,7 +272,9 @@ public class EventListenerList implements Serializable { while (null != (listenerTypeOrNull = s.readObject())) { ClassLoader cl = Thread.currentThread().getContextClassLoader(); EventListener l = (EventListener)s.readObject(); - add((Class)Class.forName((String)listenerTypeOrNull, true, cl), l); + String name = (String) listenerTypeOrNull; + ReflectUtil.checkPackageAccess(name); + add((Class)Class.forName(name, true, cl), l); } }