Index: src/java/org/apache/ivy/osgi/repo/AbstractFSManifestIterable.java
===================================================================
--- src/java/org/apache/ivy/osgi/repo/AbstractFSManifestIterable.java	(revision 1146935)
+++ src/java/org/apache/ivy/osgi/repo/AbstractFSManifestIterable.java	(working copy)
@@ -95,8 +95,9 @@
                     }
                 } else if (bundleCandidates.hasNext()) {
                     String bundleCandidate = (String) bundleCandidates.next();
+                    JarInputStream in = null;
                     try {
-                        JarInputStream in = new JarInputStream(getInputStream(bundleCandidate));
+                        in = new JarInputStream(getInputStream(bundleCandidate));
                         Manifest manifest = in.getManifest();
                         if (manifest != null) {
                             next = new ManifestAndLocation(manifest,
@@ -108,6 +109,14 @@
                         Message.debug("Jar file just removed: " + bundleCandidate + " (" + e + ")");
                     } catch (IOException e) {
                         Message.warn("Unreadable jar: " + bundleCandidate + " (" + e + ")");
+                    } finally {
+                        if (in != null) {
+                            try {
+                                in.close();
+                            } catch (IOException e) {
+                                // Don't care
+                            }
+                        }
                     }
                 } else {
                     // no more candidate on the current directory
@@ -137,4 +146,4 @@
             throw new UnsupportedOperationException();
         }
     }
-}
\ No newline at end of file
+}
