changeset 9905:f3ae824f6ac0

8232003: (fs) Files.write can leak file descriptor in the exception case Summary: Be sure to close the leaked OutputStream in all cases Reviewed-by: alanb, bpb, clanger
author sgehwolf
date Tue, 08 Oct 2019 15:30:46 +0200
parents 3fb2af3bcafc
children 3a981e017acf
files src/share/classes/java/nio/file/Files.java
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/java/nio/file/Files.java	Thu Mar 21 21:37:09 2019 -0700
+++ b/src/share/classes/java/nio/file/Files.java	Tue Oct 08 15:30:46 2019 +0200
@@ -3148,8 +3148,8 @@
         // ensure lines is not null before opening file
         Objects.requireNonNull(lines);
         CharsetEncoder encoder = cs.newEncoder();
-        OutputStream out = newOutputStream(path, options);
-        try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, encoder))) {
+        try (OutputStream out = newOutputStream(path, options);
+             BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, encoder))) {
             for (CharSequence line: lines) {
                 writer.append(line);
                 writer.newLine();