Index: src/test/java/tests/api/java/net/URLClassLoaderExt.java =================================================================== --- src/test/java/tests/api/java/net/URLClassLoaderExt.java (revision 0) +++ src/test/java/tests/api/java/net/URLClassLoaderExt.java (revision 0) @@ -0,0 +1,19 @@ +package java.net; + + + +/** + * + * @author Sergey A. Krivenko + * @version $Revision:$ + */ +public class URLClassLoaderExt extends URLClassLoader { + + public URLClassLoaderExt(URL[] urls) { + super(urls); + } + + public Class findClass(String cl) throws ClassNotFoundException { + return super.findClass(cl); + } +} \ No newline at end of file Index: src/test/java/tests/api/java/net/URLClassLoaderTest.java =================================================================== --- src/test/java/tests/api/java/net/URLClassLoaderTest.java (revision 478557) +++ src/test/java/tests/api/java/net/URLClassLoaderTest.java (working copy) @@ -218,6 +218,15 @@ * @tests java.net.URLClassLoader#findClass(java.lang.String) */ public void test_findClassLjava_lang_String() { + try { + URLClassLoaderExt cl = new URLClassLoaderExt(new URL[557]); + cl.findClass("0"); + } catch (ClassNotFoundException e) { + System.out.println("FAILED"); + } catch (NullPointerException npe) { + System.out.println("PASSED"); + } + File resources = Support_Resources.createTempFolder(); String resPath = resources.toString(); if (resPath.charAt(0) == '/' || resPath.charAt(0) == '\\') @@ -360,6 +369,15 @@ * @tests java.net.URLClassLoader#findResource(java.lang.String) */ public void test_findResourceLjava_lang_String() { + // Regression test. NPE should be thrown. + try { + URLClassLoaderExt cl = new URLClassLoaderExt(new URL[296]); + cl.findResource("0"); + System.out.println("FAILED"); + } catch (NullPointerException npe) { + System.out.println("PASSED"); + } + URL res = null; try { URL[] urls = new URL[2];