You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2012/07/17 00:43:11 UTC

svn commit: r1362299 - /commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java

Author: sebb
Date: Mon Jul 16 22:43:11 2012
New Revision: 1362299

URL: http://svn.apache.org/viewvc?rev=1362299&view=rev
Log:
Ensure resource is closed

Modified:
    commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java

Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java
URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java?rev=1362299&r1=1362298&r2=1362299&view=diff
==============================================================================
--- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java (original)
+++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java Mon Jul 16 22:43:11 2012
@@ -289,8 +289,9 @@ public class ArchiveStreamFactory {
             }
             // COMPRESS-117 - improve auto-recognition
             if (signatureLength >= 512) {
+                TarArchiveInputStream tais = null;
                 try {
-                    TarArchiveInputStream tais = new TarArchiveInputStream(new ByteArrayInputStream(tarheader));
+                    tais = new TarArchiveInputStream(new ByteArrayInputStream(tarheader));
                     // COMPRESS-191 - verify the header checksum
                     if (tais.getNextTarEntry().isCheckSumOK()) {
                         return new TarArchiveInputStream(in);
@@ -300,6 +301,14 @@ public class ArchiveStreamFactory {
                     // as IOException
                     // autodetection, simply not a TAR
                     // ignored
+                } finally {
+                    if (tais != null) {
+                        try {
+                            tais.close();
+                        } catch (IOException ignored) {
+                            // ignored
+                        }
+                    }
                 }
             }
         } catch (IOException e) {