Author: toad
Date: 2008-07-17 23:17:54 +0000 (Thu, 17 Jul 2008)
New Revision: 21205

Modified:
   branches/db4o/freenet/src/freenet/support/compress/GzipCompressor.java
Log:
Fix Streams open free()ing ...

Modified: branches/db4o/freenet/src/freenet/support/compress/GzipCompressor.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/compress/GzipCompressor.java      
2008-07-17 22:55:53 UTC (rev 21204)
+++ branches/db4o/freenet/src/freenet/support/compress/GzipCompressor.java      
2008-07-17 23:17:54 UTC (rev 21205)
@@ -12,6 +12,7 @@
 import freenet.support.Logger;
 import freenet.support.api.Bucket;
 import freenet.support.api.BucketFactory;
+import freenet.support.io.Closer;

 public class GzipCompressor extends Compressor {

@@ -54,12 +55,19 @@
                        output = preferred;
                else
                        output = bf.makeBucket(-1);
-               InputStream is = data.getInputStream();
-               OutputStream os = output.getOutputStream();
+               InputStream is = null;
+               OutputStream os = null;
+               try {
+               is = data.getInputStream();
+               os = output.getOutputStream();
                decompress(is, os, maxLength, maxCheckSizeLength);
-               os.close();
-               is.close();
+               os.close(); os = null;
+               is.close(); is = null;
                return output;
+               } finally {
+                       if(is != null) Closer.close(is);
+                       if(os != null) Closer.close(os);
+               }
        }

        private long decompress(InputStream is, OutputStream os, long 
maxLength, long maxCheckSizeBytes) throws IOException, 
CompressionOutputSizeException {


Reply via email to