bodewig     2005/05/13 01:09:35

  Modified:    .        Tag: ANT_16_BRANCH WHATSNEW
               src/main/org/apache/tools/ant/taskdefs Tag: ANT_16_BRANCH
                        Untar.java
               src/main/org/apache/tools/zip Tag: ANT_16_BRANCH
                        ZipFile.java
  Log:
  merge
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.503.2.226 +3 -0      ant/WHATSNEW
  
  Index: WHATSNEW
  ===================================================================
  RCS file: /home/cvs/ant/WHATSNEW,v
  retrieving revision 1.503.2.225
  retrieving revision 1.503.2.226
  diff -u -r1.503.2.225 -r1.503.2.226
  --- WHATSNEW  11 May 2005 19:37:30 -0000      1.503.2.225
  +++ WHATSNEW  13 May 2005 08:09:35 -0000      1.503.2.226
  @@ -21,6 +21,9 @@
   * Granularity attribute for <sync> task was undocumented.
     Bugzilla report 34871.
   
  +* <unzip> and <untar> could leave file handles open on invalid
  +  archives.  Bugzilla report 34893.
  +
   Other changes:
   --------------
   
  
  
  
  No                   revision
  No                   revision
  1.37.2.6  +9 -3      ant/src/main/org/apache/tools/ant/taskdefs/Untar.java
  
  Index: Untar.java
  ===================================================================
  RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Untar.java,v
  retrieving revision 1.37.2.5
  retrieving revision 1.37.2.6
  diff -u -r1.37.2.5 -r1.37.2.6
  --- Untar.java        6 Jan 2005 17:50:46 -0000       1.37.2.5
  +++ Untar.java        13 May 2005 08:09:35 -0000      1.37.2.6
  @@ -88,13 +88,13 @@
        * @see Expand#expandFile(FileUtils, File, File)
        */
       protected void expandFile(FileUtils fileUtils, File srcF, File dir) {
  +        FileInputStream fis = null;
           TarInputStream tis = null;
           try {
               log("Expanding: " + srcF + " into " + dir, Project.MSG_INFO);
  +            fis = new FileInputStream(srcF);
               tis = new TarInputStream(
  -                compression.decompress(srcF,
  -                    new BufferedInputStream(
  -                        new FileInputStream(srcF))));
  +                compression.decompress(srcF, new BufferedInputStream(fis)));
               TarEntry te = null;
   
               while ((te = tis.getNextEntry()) != null) {
  @@ -113,6 +113,12 @@
                   } catch (IOException e) {
                       // ignore
                   }
  +            } else if (fis != null) {
  +                try {
  +                    fis.close();
  +                } catch (IOException e) {
  +                    // ignore
  +                }
               }
           }
       }
  
  
  
  No                   revision
  No                   revision
  1.8.2.7   +11 -2     ant/src/main/org/apache/tools/zip/ZipFile.java
  
  Index: ZipFile.java
  ===================================================================
  RCS file: /home/cvs/ant/src/main/org/apache/tools/zip/ZipFile.java,v
  retrieving revision 1.8.2.6
  retrieving revision 1.8.2.7
  diff -u -r1.8.2.6 -r1.8.2.7
  --- ZipFile.java      9 Mar 2005 18:56:27 -0000       1.8.2.6
  +++ ZipFile.java      13 May 2005 08:09:35 -0000      1.8.2.7
  @@ -138,8 +138,17 @@
       public ZipFile(File f, String encoding) throws IOException {
           this.encoding = encoding;
           archive = new RandomAccessFile(f, "r");
  -        populateFromCentralDirectory();
  -        resolveLocalFileHeaderData();
  +        try {
  +            populateFromCentralDirectory();
  +            resolveLocalFileHeaderData();
  +        } catch (IOException e) {
  +            try {
  +                archive.close();
  +            } catch (IOException e2) {
  +                // swallow, throw the original exception instead
  +            }
  +            throw e;
  +        }
       }
   
       /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to