directoryDelete() can throw NPE

Description

I noticed an error that only happened once, in a scenario were a directory was being deleted twice. Even though I couldn't reproduce it right off, I reviewed the Lucee source code and there are some issues there that need resolved where I can see how this error isn't accounted for correctly.

The version of Lucee is 5.3.6-RC. The CFML code in question was:

And the relevant part of the exception was:

Inspecting the Java source of the FileResource class shows the failing Java code was:

the failing line was the "for" loop so the "children" variable must have been null. Checking the implementation of the "listResources()" method, it explicitly returns null in some cases. The remove() method does not correctly account for the possibility of the listResource() method returning null. This is probably a tough error to hit since it would require some sort of race condition on the hard drive where the folder disappears in the middle of the operation, but one can see from the code how null needs to be handled a little better.

Environment

None

Assignee

Michael Offner

Reporter

Brad Wood

Priority

New

Labels

Fix versions

Sprint

None

Affects versions

Configure