changeset in /hg/icedtea6: - Fix bug that caused applet to crash...

Deepak Bhole dbhole at redhat.com
Thu Jan 22 10:36:58 PST 2009


changeset 15437352b69c in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=15437352b69c
description:
	- Fix bug that caused applet to crash if an optional class was not found
	  (happened due to a CFE being thrown when a site sends redirected page
	  content instead of 404 upon a class request). RH BZ: 477351

diffstat:

3 files changed, 11 insertions(+), 1 deletion(-)
ChangeLog                                                  |    8 ++++++++
plugin/icedtea/sun/applet/PluginAppletSecurityContext.java |    3 ++-
rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java       |    1 +

diffs (46 lines):

diff -r 0507a324ec22 -r 15437352b69c ChangeLog
--- a/ChangeLog	Thu Jan 22 17:55:26 2009 +0000
+++ b/ChangeLog	Thu Jan 22 13:36:49 2009 -0500
@@ -1,3 +1,11 @@ 2009-01-22  Andrew Haley  <aph at redhat.co
+2009-01-22  Deepak Bhole <dbhole at redhat.com>
+
+	* plugin/icedtea/sun/applet/PluginAppletSecurityContext.java: Use
+	Hashtable to store classloaders, instead of HashMap (values cannot be
+	null in HashTable).
+	* rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Catch CFE in
+	addition to CNFE.
+
 2009-01-22  Andrew Haley  <aph at redhat.com>
 
 	* ports/hotspot/src/cpu/zero/vm/stack_zero.hpp (class
diff -r 0507a324ec22 -r 15437352b69c plugin/icedtea/sun/applet/PluginAppletSecurityContext.java
--- a/plugin/icedtea/sun/applet/PluginAppletSecurityContext.java	Thu Jan 22 17:55:26 2009 +0000
+++ b/plugin/icedtea/sun/applet/PluginAppletSecurityContext.java	Thu Jan 22 13:36:49 2009 -0500
@@ -55,6 +55,7 @@ import java.security.ProtectionDomain;
 import java.security.ProtectionDomain;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.Hashtable;
 import java.util.List;
 
 import net.sourceforge.jnlp.runtime.JNLPRuntime;
@@ -224,7 +225,7 @@ class Signature {
 
 public class PluginAppletSecurityContext {
 	
-	public static HashMap<ClassLoader, String> classLoaders = new HashMap<ClassLoader, String>();
+	public static Hashtable<ClassLoader, String> classLoaders = new Hashtable<ClassLoader, String>();
 
 	// FIXME: make private
 	public PluginObjectStore store = new PluginObjectStore();
diff -r 0507a324ec22 -r 15437352b69c rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
--- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java	Thu Jan 22 17:55:26 2009 +0000
+++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java	Thu Jan 22 13:36:49 2009 -0500
@@ -775,6 +775,7 @@ public class JNLPClassLoader extends URL
                     return loaders[i].findClass(name);
             }
             catch(ClassNotFoundException ex) { }
+            catch(ClassFormatError cfe) {}
         }
 
         throw new ClassNotFoundException(name);



More information about the distro-pkg-dev mailing list