]> source.dussan.org Git - jgit.git/commitdiff
RefDirectory#hasLooseRef: Fix stream resource leak reported by error-prone 45/115145/1
authorDavid Pursehouse <david.pursehouse@gmail.com>
Wed, 10 Jan 2018 07:30:28 +0000 (16:30 +0900)
committerDavid Pursehouse <david.pursehouse@gmail.com>
Wed, 10 Jan 2018 07:39:20 +0000 (16:39 +0900)
Error-prone reports:

  [StreamResourceLeak] Streams that encapsulate a closeable resource
  should be closed using try-with-resources

Change-Id: I86154fba2b896723feaecf8991ed3c8e96ea2499
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java

index 20302d124b79b57decd69884b52fe46b6ce7a554..4495e09517fa94dfe81dd6abca8c1b6969860325 100644 (file)
@@ -66,6 +66,7 @@ import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.InterruptedIOException;
 import java.nio.file.Files;
+import java.nio.file.Path;
 import java.security.DigestInputStream;
 import java.security.MessageDigest;
 import java.text.MessageFormat;
@@ -78,6 +79,7 @@ import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.concurrent.locks.ReentrantLock;
+import java.util.stream.Stream;
 
 import org.eclipse.jgit.annotations.NonNull;
 import org.eclipse.jgit.annotations.Nullable;
@@ -1220,7 +1222,9 @@ public class RefDirectory extends RefDatabase {
        }
 
        private boolean hasLooseRef() throws IOException {
-               return Files.walk(refsDir.toPath()).anyMatch(Files::isRegularFile);
+               try (Stream<Path> stream = Files.walk(refsDir.toPath())) {
+                       return stream.anyMatch(Files::isRegularFile);
+               }
        }
 
        /** If the parent should fire listeners, fires them. */