This function can cause an assert if the input is empty...
String File::createLegalPathName (const String& original) { String s (original); String start; if (s[1] == ':') // <- here { ...
I expect the result would technically not be a legal path, but should it handle this?
On a related note, I've found that (on windows) isAbsolutePath() returns true for "/" (which isn't valid). There doesn't appear to be a 100% reliable function to determine whether or not a given (user provided) String will successfully make it through the File constructor. Unless I'm missing something!