[tor-commits] [metrics-lib/master] Fix leaking resource in TorperfResultImpl.java
karsten at torproject.org
karsten at torproject.org
Mon Sep 2 06:53:15 UTC 2019
commit 114f548674d8586453577f2a16ad6b39b1714118
Author: fava <fava at libertymail.net>
Date: Thu Aug 29 06:52:16 2019 +0000
Fix leaking resource in TorperfResultImpl.java
Fix leaking resource in TorperfResultImpl.java using
try-with-resource statement.
This fix is related to analysis on metrics-lib using sonarqube
Implements part of #30544
Signed-off-by: fava <fava at libertymail.net>
---
.../descriptor/impl/TorperfResultImpl.java | 45 ++++++++++++----------
1 file changed, 24 insertions(+), 21 deletions(-)
diff --git a/src/main/java/org/torproject/descriptor/impl/TorperfResultImpl.java b/src/main/java/org/torproject/descriptor/impl/TorperfResultImpl.java
index 4eb00ac..83e9491 100644
--- a/src/main/java/org/torproject/descriptor/impl/TorperfResultImpl.java
+++ b/src/main/java/org/torproject/descriptor/impl/TorperfResultImpl.java
@@ -30,28 +30,31 @@ public class TorperfResultImpl extends DescriptorImpl
List<Descriptor> parsedDescriptors = new ArrayList<>();
String descriptorString = new String(rawDescriptorBytes,
StandardCharsets.UTF_8);
- Scanner scanner = new Scanner(descriptorString).useDelimiter("\r?\n");
- String typeAnnotation = "";
- while (scanner.hasNext()) {
- String line = scanner.next();
- if (line.startsWith("@type torperf ")) {
- String[] parts = line.split(" ");
- if (parts.length != 3) {
- throw new DescriptorParseException("Illegal line '" + line
- + "'.");
- }
- String version = parts[2];
- if (!version.startsWith("1.")) {
- throw new DescriptorParseException("Unsupported version in "
- + " line '" + line + "'.");
+ try (Scanner scanner =
+ new Scanner(descriptorString).useDelimiter("\r?\n")) {
+ String typeAnnotation = "";
+ while (scanner.hasNext()) {
+ String line = scanner.next();
+ if (line.startsWith("@type torperf ")) {
+ String[] parts = line.split(" ");
+ if (parts.length != 3) {
+ throw new DescriptorParseException("Illegal line '" + line
+ + "'.");
+ }
+ String version = parts[2];
+ if (!version.startsWith("1.")) {
+ throw new DescriptorParseException("Unsupported version in "
+ + " line '" + line + "'.");
+ }
+ typeAnnotation = line + "\n";
+ } else {
+ /* XXX21932 */
+ parsedDescriptors.add(new TorperfResultImpl(
+ (typeAnnotation + line + "\n")
+ .getBytes(StandardCharsets.UTF_8),
+ descriptorFile));
+ typeAnnotation = "";
}
- typeAnnotation = line + "\n";
- } else {
- /* XXX21932 */
- parsedDescriptors.add(new TorperfResultImpl(
- (typeAnnotation + line + "\n").getBytes(StandardCharsets.UTF_8),
- descriptorFile));
- typeAnnotation = "";
}
}
return parsedDescriptors;
More information about the tor-commits
mailing list