From e78626f4140742bdffaca3689dbf1963d5dd30f3 Mon Sep 17 00:00:00 2001 From: Matthias Sohn Date: Sun, 18 Dec 2016 01:54:51 +0100 Subject: [PATCH] [infer] Fix resource leak in RepoCommand Bug: 509385 Change-Id: I30c427f0dd2fc1fceb6b003dfdee0a05efaefca9 Signed-off-by: Matthias Sohn --- .../src/org/eclipse/jgit/gitrepo/RepoCommand.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java index 9b7f094d0..86dbabca0 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java @@ -180,17 +180,11 @@ public ObjectId sha1(String uri, String ref) throws GitAPIException { public byte[] readFile(String uri, String ref, String path) throws GitAPIException, IOException { File dir = FileUtils.createTempDir("jgit_", ".git", null); //$NON-NLS-1$ //$NON-NLS-2$ - Repository repo = Git - .cloneRepository() - .setBare(true) - .setDirectory(dir) - .setURI(uri) - .call() - .getRepository(); - try { + try (Git git = Git.cloneRepository().setBare(true).setDirectory(dir) + .setURI(uri).call(); + Repository repo = git.getRepository()) { return readFileFromRepo(repo, ref, path); } finally { - repo.close(); FileUtils.delete(dir, FileUtils.RECURSIVE); } }