Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
Nightly Builds
-
None
Description
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