Mercurial > hg > release > icedtea-web-1.5
changeset 1014:249435147a0b
Preventing rare class cast exception in erroneous detached applets
author | Jiri Vanek <jvanek@redhat.com> |
---|---|
date | Mon, 22 Sep 2014 17:13:19 +0200 |
parents | e66c55de3d22 |
children | 406f306e3380 |
files | ChangeLog netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java tests/netx/unit/net/sourceforge/jnlp/splashscreen/SplashUtilsTest.java tests/netx/unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java |
diffstat | 5 files changed, 28 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Sun Sep 21 10:43:48 2014 -0400 +++ b/ChangeLog Mon Sep 22 17:13:19 2014 +0200 @@ -1,3 +1,13 @@ +2014-09-22 Jiri Vanek <jvanek@redhat.com> + + Preventing rare class cast exception in erroneous detached applets + * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java: getSplashControler + renamed to getSplashController. (getSplashController) added check for + SplashController instance. Returning null if not so. + * netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java: adapted to renaming + * tests/netx/unit/net/sourceforge/jnlp/splashscreen/SplashUtilsTest.java: + added (assertNulsAreOkInShow) test to check null values for showError methods + 2014-09-21 Andrew Azores <aazores@redhat.com> * netx/javaws.1: Fixed typos, made formatting more consistent, and added
--- a/netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java Sun Sep 21 10:43:48 2014 -0400 +++ b/netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java Mon Sep 22 17:13:19 2014 +0200 @@ -138,9 +138,12 @@ * container must be SplashContoler * */ - public SplashController getSplashControler() { - - return (SplashController)cont; + public SplashController getSplashController() { + if (cont instanceof SplashController) { + return (SplashController) cont; + } else { + return null; + } } /**
--- a/netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java Sun Sep 21 10:43:48 2014 -0400 +++ b/netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java Mon Sep 22 17:13:19 2014 +0200 @@ -94,7 +94,7 @@ if (ae == null) { return; } - SplashController p = ae.getSplashControler(); + SplashController p = ae.getSplashController(); showError(ex, p); }
--- a/tests/netx/unit/net/sourceforge/jnlp/splashscreen/SplashUtilsTest.java Sun Sep 21 10:43:48 2014 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/splashscreen/SplashUtilsTest.java Mon Sep 22 17:13:19 2014 +0200 @@ -40,6 +40,8 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; +import net.sourceforge.jnlp.runtime.AppletEnvironment; +import net.sourceforge.jnlp.runtime.AppletInstance; import net.sourceforge.jnlp.runtime.JNLPRuntime; import net.sourceforge.jnlp.splashscreen.impls.*; import org.junit.Assert; @@ -251,5 +253,13 @@ field.setAccessible(true); field.set(null, newValue); } + + @Test + public void assertNulsAreOkInShow() { + SplashUtils.showError(null, (AppletEnvironment)null); + SplashUtils.showError(null, (AppletInstance)null); + SplashUtils.showError(null, (SplashController)null); + } + }
--- a/tests/netx/unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java Sun Sep 21 10:43:48 2014 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java Mon Sep 22 17:13:19 2014 +0200 @@ -26,7 +26,7 @@ Assert.assertFalse(p3.wasError); Assert.assertTrue(p1.header.isC); Assert.assertTrue(p3.header.isC); - Assert.assertEquals(OutputController.Level.MESSAGE_DEBUG,p1.header.level); + Assert.assertEquals(OutputController.Levgl.MESSAGE_DEBUG,p1.header.level); Assert.assertEquals(OutputController.Level.ERROR_ALL,p3.header.level); Assert.assertTrue(p1.header.date.toString().contains("Tue Nov 19 09:43:50") && p1.header.date.toString().contains("2013")); Assert.assertTrue(p3.header.date.toString().contains("Tue Nov 19 09:43:50") && p3.header.date.toString().contains("2013"));