AbstractFileObject.getChildren(): internal structures will be left inconsistent 
if the excepion is thrown
---------------------------------------------------------------------------------------------------------

                 Key: VFS-285
                 URL: https://issues.apache.org/jira/browse/VFS-285
             Project: Commons VFS
          Issue Type: Bug
    Affects Versions: Nightly Builds
            Reporter: Kirill Safonov
            Priority: Critical


AbstractFileObject.getChildren() creates *children* array and then fills it by 
resolving child names via FileSystemManager.resolveName(). If the latter method 
throws an exception (in my case it's "Invalid descendent file name 
"pci-0000:00:07.1-scsi-0:0:0:0""), children array is left as is with some of 
the entries = null, that inevitably results in NPE on the next getChildren() 
call:
at 
org.apache.commons.vfs.provider.AbstractFileSystem.resolveFile(AbstractFileSystem.java:319)
        at 
org.apache.commons.vfs.provider.AbstractFileSystem.resolveFile(AbstractFileSystem.java:314)
        at 
org.apache.commons.vfs.provider.AbstractFileObject.resolveFile(AbstractFileObject.java:723)
        at 
org.apache.commons.vfs.provider.AbstractFileObject.resolveFiles(AbstractFileObject.java:715)
        at 
org.apache.commons.vfs.provider.AbstractFileObject.getChildren(AbstractFileObject.java:618)
        at 
org.apache.commons.vfs.provider.ftp.FtpFileObject.getChildren(FtpFileObject.java:412)

since AbstractFileObject.getChildren() only checks that *children* instance is 
not null

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to