From 8c54b92566e72198941713fb384490e4c29e22ad Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Fri, 20 Feb 2015 00:06:53 +0100 Subject: [PATCH] Fix: more coverity resource leak --- .../cacert/gigi/testUtils/ConfiguredTest.java | 4 +- tests/org/cacert/gigi/testUtils/IOUtils.java | 2 + .../cacert/gigi/util/TestPublicSuffixes.java | 46 +++++++++++-------- 3 files changed, 31 insertions(+), 21 deletions(-) diff --git a/tests/org/cacert/gigi/testUtils/ConfiguredTest.java b/tests/org/cacert/gigi/testUtils/ConfiguredTest.java index 207aa006..f8098ed8 100644 --- a/tests/org/cacert/gigi/testUtils/ConfiguredTest.java +++ b/tests/org/cacert/gigi/testUtils/ConfiguredTest.java @@ -42,7 +42,9 @@ public abstract class ConfiguredTest { return; } envInited = true; - testProps.load(new FileInputStream("config/test.properties")); + try (FileInputStream inStream = new FileInputStream("config/test.properties")) { + testProps.load(inStream); + } if ( !DatabaseConnection.isInited()) { DatabaseConnection.init(testProps); } diff --git a/tests/org/cacert/gigi/testUtils/IOUtils.java b/tests/org/cacert/gigi/testUtils/IOUtils.java index 9a01a542..3e91d7ed 100644 --- a/tests/org/cacert/gigi/testUtils/IOUtils.java +++ b/tests/org/cacert/gigi/testUtils/IOUtils.java @@ -38,6 +38,7 @@ public class IOUtils { while ((len = in.read(buffer)) > 0) { caw.write(buffer, 0, len); } + in.close(); return new String(caw.toCharArray()); } catch (IOException e) { throw new Error(e); @@ -53,6 +54,7 @@ public class IOUtils { while ((len = in.read(buffer)) > 0) { baos.write(buffer, 0, len); } + in.close(); return baos.toByteArray(); } catch (IOException e) { throw new Error(e); diff --git a/tests/org/cacert/gigi/util/TestPublicSuffixes.java b/tests/org/cacert/gigi/util/TestPublicSuffixes.java index dba88303..95022415 100644 --- a/tests/org/cacert/gigi/util/TestPublicSuffixes.java +++ b/tests/org/cacert/gigi/util/TestPublicSuffixes.java @@ -24,29 +24,35 @@ public class TestPublicSuffixes { */ @Parameters(name = "publicSuffix({0}) = {1}") public static Iterable genParams() throws IOException { - BufferedReader br = new BufferedReader(new InputStreamReader(TestPublicSuffixes.class.getResourceAsStream("TestPublicSuffixes.txt"), "UTF-8")); - ArrayList result = new ArrayList<>(); - String line; - while ((line = br.readLine()) != null) { - if (line.startsWith("//") || line.isEmpty()) { - continue; - } - String parseSuffix = "checkPublicSuffix("; - if (line.startsWith(parseSuffix)) { - String data = line.substring(parseSuffix.length(), line.length() - 2); - String[] parts = data.split(", "); - if (parts.length != 2) { - throw new Error("Syntax error in public suffix test data file: " + line); + BufferedReader br = null; + try { + br = new BufferedReader(new InputStreamReader(TestPublicSuffixes.class.getResourceAsStream("TestPublicSuffixes.txt"), "UTF-8")); + ArrayList result = new ArrayList<>(); + String line; + while ((line = br.readLine()) != null) { + if (line.startsWith("//") || line.isEmpty()) { + continue; + } + String parseSuffix = "checkPublicSuffix("; + if (line.startsWith(parseSuffix)) { + String data = line.substring(parseSuffix.length(), line.length() - 2); + String[] parts = data.split(", "); + if (parts.length != 2) { + throw new Error("Syntax error in public suffix test data file: " + line); + } + result.add(new String[] { + parse(parts[0]), parse(parts[1]) + }); + } else { + throw new Error("Unparsable line: " + line); } - result.add(new String[] { - parse(parts[0]), parse(parts[1]) - }); - } else { - throw new Error("Unparsable line: " + line); + } + return result; + } finally { + if (br != null) { + br.close(); } } - - return result; } private static String parse(String data) { -- 2.39.2