From e7c9a43100b8ab068d13bd4fdaf516b6929c51a4 Mon Sep 17 00:00:00 2001 From: Bukkit/Spigot Date: Sat, 25 Feb 2012 17:39:54 +0000 Subject: [PATCH] [Bleeding] Fixed file handle leak in /timings command. Addresses BUKKIT-853 By: Score_Under --- .../org/bukkit/command/defaults/TimingsCommand.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/paper-api/src/main/java/org/bukkit/command/defaults/TimingsCommand.java b/paper-api/src/main/java/org/bukkit/command/defaults/TimingsCommand.java index f4da879b9f..9e5b676927 100644 --- a/paper-api/src/main/java/org/bukkit/command/defaults/TimingsCommand.java +++ b/paper-api/src/main/java/org/bukkit/command/defaults/TimingsCommand.java @@ -53,9 +53,10 @@ public class TimingsCommand extends Command { File timings = new File(timingFolder, "timings.txt"); File names = null; while (timings.exists()) timings = new File(timingFolder, "timings" + (++index) + ".txt"); + PrintStream fileTimings = null; + PrintStream fileNames = null; try { - PrintStream fileTimings = new PrintStream(timings); - PrintStream fileNames = null; + fileTimings = new PrintStream(timings); if (separate) { names = new File(timingFolder, "names" + index + ".txt"); fileNames = new PrintStream(names); @@ -87,6 +88,13 @@ public class TimingsCommand extends Command { sender.sendMessage("Timings written to " + timings.getPath()); if (separate) sender.sendMessage("Names written to " + names.getPath()); } catch (IOException e) { + } finally { + if (fileTimings != null) { + fileTimings.close(); + } + if (fileNames != null) { + fileNames.close(); + } } } return true;