[tor-commits] [metrics-lib/master] Fix leaking resource in ExitListEntryImpl.java
karsten at torproject.org
karsten at torproject.org
Fri Aug 23 13:31:16 UTC 2019
commit 9fc82fafb32dcc39ebf6780822ecbc06d5f952e5
Author: fava <fava at libertymail.net>
Date: Thu Aug 22 05:41:03 2019 +0000
Fix leaking resource in ExitListEntryImpl.java
Fix leaking resource in ExitListEntryImpl.java using
try-with-resource statement.
This fix is related to analysis on metrics-lib using sonarqube
Implements part of #30544
---
.../descriptor/impl/ExitListEntryImpl.java | 51 +++++++++++-----------
1 file changed, 26 insertions(+), 25 deletions(-)
diff --git a/src/main/java/org/torproject/descriptor/impl/ExitListEntryImpl.java b/src/main/java/org/torproject/descriptor/impl/ExitListEntryImpl.java
index 5389ce3..ba203e2 100644
--- a/src/main/java/org/torproject/descriptor/impl/ExitListEntryImpl.java
+++ b/src/main/java/org/torproject/descriptor/impl/ExitListEntryImpl.java
@@ -62,31 +62,32 @@ public class ExitListEntryImpl implements ExitList.Entry {
}
private void parseExitListEntry()
- throws DescriptorParseException {
- Scanner scanner = new Scanner(this.exitListEntryString)
- .useDelimiter(ExitList.EOL);
- while (scanner.hasNext()) {
- String line = scanner.next();
- String[] parts = line.split(" ");
- String keyword = parts[0];
- switch (keyword) {
- case "ExitNode":
- this.parseExitNodeLine(line, parts);
- break;
- case "Published":
- this.parsePublishedLine(line, parts);
- break;
- case "LastStatus":
- this.parseLastStatusLine(line, parts);
- break;
- case "ExitAddress":
- this.parseExitAddressLine(line, parts);
- break;
- default:
- if (this.unrecognizedLines == null) {
- this.unrecognizedLines = new ArrayList<>();
- }
- this.unrecognizedLines.add(line);
+ throws DescriptorParseException {
+ try (Scanner scanner = new Scanner(this.exitListEntryString)
+ .useDelimiter(ExitList.EOL)) {
+ while (scanner.hasNext()) {
+ String line = scanner.next();
+ String[] parts = line.split(" ");
+ String keyword = parts[0];
+ switch (keyword) {
+ case "ExitNode":
+ this.parseExitNodeLine(line, parts);
+ break;
+ case "Published":
+ this.parsePublishedLine(line, parts);
+ break;
+ case "LastStatus":
+ this.parseLastStatusLine(line, parts);
+ break;
+ case "ExitAddress":
+ this.parseExitAddressLine(line, parts);
+ break;
+ default:
+ if (this.unrecognizedLines == null) {
+ this.unrecognizedLines = new ArrayList<>();
+ }
+ this.unrecognizedLines.add(line);
+ }
}
}
}
More information about the tor-commits
mailing list