commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (NET-442) StringIndexOutOfBoundsException: String index out of range: -1 if server respond with root is current directory
Date Mon, 11 Feb 2013 18:01:16 GMT

    [ https://issues.apache.org/jira/browse/NET-442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13575937#comment-13575937
] 

Sebb commented on NET-442:
--------------------------

URL: http://svn.apache.org/viewvc?rev=1296413&view=rev
Log:
NET-442 StringIndexOutOfBoundsException: String index out of range: -1 if server respond with
root is current directory

Modified:
    commons/proper/net/trunk/src/changes/changes.xml
    commons/proper/net/trunk/src/main/java/org/apache/commons/net/ftp/FTPClient.java

                
> StringIndexOutOfBoundsException: String index out of range: -1 if server respond with
root is current directory
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: NET-442
>                 URL: https://issues.apache.org/jira/browse/NET-442
>             Project: Commons Net
>          Issue Type: Bug
>          Components: FTP
>    Affects Versions: 3.0.1
>         Environment: Ubuntu linux 11.04
>            Reporter: Andrea Selva
>             Fix For: 3.2
>
>
> I've an ftp server that at the pwd request responds with |257  root is current directory.|
without any double quotes present and the lib gives up with this exception:
> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
> 	at java.lang.String.substring(String.java:1949)
> 	at org.apache.commons.net.ftp.FTPClient.__parsePathname(FTPClient.java:469)
> 	at org.apache.commons.net.ftp.FTPClient.printWorkingDirectory(FTPClient.java:2374)
> Probably it's only needed a check in __parsePathname
> private String __parsePathname(String reply)
>     {
>         int begin, end;
>         begin = reply.indexOf('"') + 1;
>         end = reply.indexOf('"', begin);
>         
>         if (begin == -1 && end == -1) 
>         {
>             return reply;
>         }
>         return reply.substring(begin, end);
>     }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message