--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java Fri Nov 05 17:15:44 2010 +0000
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java Fri Nov 05 14:15:25 2010 -0700
@@ -614,10 +614,14 @@
List<InFile> scanJar(JarFile jf) throws IOException {
// Collect jar entries, preserving order.
List<InFile> inFiles = new ArrayList<>();
- for (JarEntry je : Collections.list(jf.entries())) {
- InFile inFile = new InFile(jf, je);
- assert(je.isDirectory() == inFile.name.endsWith("/"));
- inFiles.add(inFile);
+ try {
+ for (JarEntry je : Collections.list(jf.entries())) {
+ InFile inFile = new InFile(jf, je);
+ assert(je.isDirectory() == inFile.name.endsWith("/"));
+ inFiles.add(inFile);
+ }
+ } catch (IllegalStateException ise) {
+ throw new IOException(ise.getLocalizedMessage(), ise);
}
return inFiles;
}