ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j..@apache.org
Subject cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/optional/net FTP.java
Date Mon, 14 Mar 2005 19:19:20 GMT
jkf         2005/03/14 11:19:20

  Modified:    src/main/org/apache/tools/ant/taskdefs/optional/net FTP.java
  Log:
  PR: 28797
  
  FTP list command could crash with an ArrayIndexOutOfBoundsException.
  
  Revision  Changes    Path
  1.66      +19 -16    ant/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java
  
  Index: FTP.java
  ===================================================================
  RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java,v
  retrieving revision 1.65
  retrieving revision 1.66
  diff -u -r1.65 -r1.66
  --- FTP.java	4 Mar 2005 22:31:40 -0000	1.65
  +++ FTP.java	14 Mar 2005 19:19:20 -0000	1.66
  @@ -1861,31 +1861,34 @@
        * @throws BuildException in unknown circumstances
        */
       protected void listFile(FTPClient ftp, BufferedWriter bw, String filename)
  -         throws IOException, BuildException {
  +            throws IOException, BuildException {
           if (verbose) {
               log("listing " + filename);
           }
  +        FTPFile[] ftpfiles = ftp.listFiles(resolveFile(filename));
   
  -        FTPFile ftpfile = ftp.listFiles(resolveFile(filename))[0];
  -
  -        bw.write(ftpfile.toString());
  -        bw.newLine();
  -
  -        transferred++;
  +        if (ftpfiles != null && ftpfiles.length > 0) {
  +            bw.write(ftpfiles[0].toString());
  +            bw.newLine();
  +            transferred++;
  +        }
       }
   
   
       /**
        * Create the specified directory on the remote host.
  -     *
  -     * @param ftp The FTP client connection
  -     * @param dir The directory to create (format must be correct for host
  -     *      type)
  -     * @throws IOException  in unknown circumstances
  -     * @throws BuildException if ignoreNoncriticalErrors has not been set to true
  -     *         and a directory could not be created, for instance because it was
  -     *         already existing. Precisely, the codes 521, 550 and 553 will trigger
  -     *         a BuildException
  +     * 
  +     * @param ftp
  +     *            The FTP client connection
  +     * @param dir
  +     *            The directory to create (format must be correct for host type)
  +     * @throws IOException
  +     *             in unknown circumstances
  +     * @throws BuildException
  +     *             if ignoreNoncriticalErrors has not been set to true and a
  +     *             directory could not be created, for instance because it was
  +     *             already existing. Precisely, the codes 521, 550 and 553 will
  +     *             trigger a BuildException
        */
       protected void makeRemoteDir(FTPClient ftp, String dir)
            throws IOException, BuildException {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message