Index: src/main/java/java/net/URLClassLoader.java =================================================================== --- src/main/java/java/net/URLClassLoader.java (revision 490122) +++ src/main/java/java/net/URLClassLoader.java (working copy) @@ -694,7 +694,9 @@ boolean findInExtensions = searchList == urls; int i = 0; while (i < searchList.length) { - if (searchList[i] != null) { + if (searchList[i] == null) { + throw new NullPointerException("One of urls is null"); + } else { JarFile jf = null; try { URL currentUrl = searchList[i]; Index: src/test/java/tests/api/java/net/URLClassLoaderTest.java =================================================================== --- src/test/java/tests/api/java/net/URLClassLoaderTest.java (revision 490122) +++ src/test/java/tests/api/java/net/URLClassLoaderTest.java (working copy) @@ -117,6 +117,15 @@ resValues[i++], sb.toString()); } assertTrue("Incorrect number of resources returned: " + i, i == 2); + + // Regression test for HARMONY-2361. + try { + URLClassLoader cl = new URLClassLoader(new URL[2]); + cl.findResource("0"); + fail("NullPointerException should be thrown"); + } catch (NullPointerException npe) { + // Expected + } } /**