]> source.dussan.org Git - jgit.git/commitdiff
Fix resource leak in DiffFormatter 94/45194/1
authorMatthias Sohn <matthias.sohn@sap.com>
Thu, 2 Apr 2015 23:23:31 +0000 (01:23 +0200)
committerMatthias Sohn <matthias.sohn@sap.com>
Thu, 2 Apr 2015 23:23:31 +0000 (01:23 +0200)
- close RevWalk allocated in scan()
- replace use of deprecated ObjectReader.release() method

Change-Id: I41b2b10a1a44270a6ceaa1741e996c0921439852
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffFormatter.java

index 1aab51e9ccf318fe15e74116d27dd0beebbf1c16..b71e9902cc12798a70ea2211ebd775a71557fc67 100644 (file)
@@ -173,7 +173,7 @@ public class DiffFormatter implements AutoCloseable {
         */
        public void setRepository(Repository repository) {
                if (reader != null)
-                       reader.release();
+                       reader.close();
 
                db = repository;
                reader = db.newObjectReader();
@@ -422,10 +422,11 @@ public class DiffFormatter implements AutoCloseable {
                        throws IOException {
                assertHaveRepository();
 
-               RevWalk rw = new RevWalk(reader);
-               RevTree aTree = a != null ? rw.parseTree(a) : null;
-               RevTree bTree = b != null ? rw.parseTree(b) : null;
-               return scan(aTree, bTree);
+               try (RevWalk rw = new RevWalk(reader)) {
+                       RevTree aTree = a != null ? rw.parseTree(a) : null;
+                       RevTree bTree = b != null ? rw.parseTree(b) : null;
+                       return scan(aTree, bTree);
+               }
        }
 
        /**