From 338d0a81bb29ffedaef83024db1b1f8026841af5 Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Wed, 10 Jan 2018 16:30:28 +0900 Subject: [PATCH] RefDirectory#hasLooseRef: Fix stream resource leak reported by error-prone 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 --- .../eclipse/jgit/internal/storage/file/RefDirectory.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java index 20302d124..4495e0951 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java @@ -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 stream = Files.walk(refsDir.toPath())) { + return stream.anyMatch(Files::isRegularFile); + } } /** If the parent should fire listeners, fires them. */