You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by am...@apache.org on 2016/04/20 07:21:08 UTC

svn commit: r1740052 - in /jackrabbit/oak/branches/1.4/oak-core/src: main/java/org/apache/jackrabbit/oak/plugins/blob/GarbageCollectorFileState.java test/java/org/apache/jackrabbit/oak/plugins/blob/GarbageCollectorFileStateTest.java

Author: amitj
Date: Wed Apr 20 05:21:08 2016
New Revision: 1740052

URL: http://svn.apache.org/viewvc?rev=1740052&view=rev
Log:
OAK-4204: GarbageCollectorFileState.copy() leaks FileOutputStream 
Merged revision 1739894 from trunk

Added:
    jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/GarbageCollectorFileStateTest.java
      - copied unchanged from r1739894, jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/GarbageCollectorFileStateTest.java
Modified:
    jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/GarbageCollectorFileState.java

Modified: jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/GarbageCollectorFileState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/GarbageCollectorFileState.java?rev=1740052&r1=1740051&r2=1740052&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/GarbageCollectorFileState.java (original)
+++ jackrabbit/oak/branches/1.4/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/GarbageCollectorFileState.java Wed Apr 20 05:21:08 2016
@@ -21,6 +21,7 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.OutputStream;
 import java.util.Comparator;
 import java.util.List;
 
@@ -157,8 +158,13 @@ public class GarbageCollectorFileState i
     
     public static File copy(InputStream stream) throws IOException {
         File file = createTempFile();
-        IOUtils.copy(stream, 
-                new FileOutputStream(file));
+        OutputStream out = null;
+        try {
+            out = new FileOutputStream(file);
+            IOUtils.copy(stream, out);
+        } finally {
+            IOUtils.closeQuietly(out);
+        }
         return file;
     }