Index: src/main/java/java/net/URLClassLoader.java =================================================================== --- src/main/java/java/net/URLClassLoader.java (revision 478557) +++ src/main/java/java/net/URLClassLoader.java (working copy) @@ -245,7 +245,9 @@ Vector findResources(URL[] searchURLs, String name, Vector result) { boolean findInExtensions = searchURLs == urls; for (int i = 0; i < searchURLs.length; i++) { - if (searchURLs[i] != null) { + // RI throws NPE so this check doesn't seem to be necessary. + // The next line is commented in case regression tests fail. + //if (searchURLs[i] != null) { URL[] search = new URL[] { searchURLs[i] }; URL res = findResourceImpl(search, name); if (search[0] == null) { @@ -259,7 +261,7 @@ result, false); } } - } + //} } return result; } @@ -694,7 +696,9 @@ boolean findInExtensions = searchList == urls; int i = 0; while (i < searchList.length) { - if (searchList[i] != null) { + // RI throws NPE so this check doesn't seem to be necessary. + // The next line is commented in case regression tests fail. + //if (searchList[i] != null) { JarFile jf = null; try { URL currentUrl = searchList[i]; @@ -809,9 +813,10 @@ } } } - } + //} ++i; } + return null; } @@ -989,7 +994,7 @@ final String name = new StringBuffer(clsName.replace('.', '/')).append( ".class").toString(); for (int i = 0; i < searchURLs.length; i++) { - if (searchURLs[i] != null) { + //if (searchURLs[i] != null) { Manifest manifest = null; InputStream is = null; JarEntry entry = null; @@ -1155,8 +1160,9 @@ } } } - } + //} } + return null; }