Fix resource leak in DiffFormatter

- close RevWalk allocated in scan()
- replace use of deprecated ObjectReader.release() method

Change-Id: I41b2b10a1a44270a6ceaa1741e996c0921439852
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
Matthias Sohn 2015-04-03 01:23:31 +02:00
parent 81c84c088f
commit ff0a7b719e
1 changed files with 6 additions and 5 deletions

View File

@ -173,7 +173,7 @@ protected OutputStream getOutputStream() {
*/
public void setRepository(Repository repository) {
if (reader != null)
reader.release();
reader.close();
db = repository;
reader = db.newObjectReader();
@ -422,10 +422,11 @@ public List<DiffEntry> scan(AnyObjectId a, AnyObjectId b)
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);
}
}
/**