From a2bb540f2998689ae9c7f894ca5d74c6c55f9127 Mon Sep 17 00:00:00 2001 From: Matthias Sohn Date: Thu, 3 Dec 2020 01:44:58 +0100 Subject: [PATCH] [spotbugs] Fix potential NPE in FileRepository#convertToReftable File#listFiles can return null. Use Files#list which does not return null and should be faster since it's returning directory entries lazily while File#listFiles fetches them eagerly. Change-Id: I3bfe2a52278244fc469143692c06b05d9af0d0d4 Signed-off-by: Matthias Sohn --- .../eclipse/jgit/internal/storage/file/FileRepository.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileRepository.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileRepository.java index a2daef30d..c8d3ffcd8 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileRepository.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileRepository.java @@ -21,6 +21,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; +import java.nio.file.Files; import java.text.MessageFormat; import java.text.ParseException; import java.util.ArrayList; @@ -727,7 +728,8 @@ void convertToReftable(boolean writeLogs, boolean backup) throws IOException { File reftableDir = new File(getDirectory(), Constants.REFTABLE); File headFile = new File(getDirectory(), Constants.HEAD); - if (reftableDir.exists() && reftableDir.listFiles().length > 0) { + if (reftableDir.exists() + && Files.list(reftableDir.toPath()).findAny().isPresent()) { throw new IOException(JGitText.get().reftableDirExists); }