public static boolean walkPath ( File appRoot , String relativePath ) throws IOException { // Walk the path from the app root String [ ] relativePathElements = relativePath . replace ( File . separatorChar , ' ' ) . split ( "/" ) ; File currentPath = new File ( appRoot . getCanonicalPath ( ) ) ; for ( int i = 0 ; i < relativePathElements . length ; i ++ ) { // Handle urls which start with a "/" in whoich case split if ( ! relativePathElements [ i ] . equals ( "" ) ) { String [ ] entries = currentPath . list ( new StrictFileNameFilter ( relativePathElements [ i ] ) ) ; if ( entries == null || entries . length != 1 ) { if ( com . ibm . ejs . ras . TraceComponent . isAnyTracingEnabled ( ) && logger . isLoggable ( Level . FINE ) ) logger . logp ( Level . FINE , CLASS_NAME , "uriCaseCheck" , relativePathElements [ i ] + " not found." ) ; return false ; } currentPath = new File ( currentPath , relativePathElements [ i ] ) ; } } return true ; }
end 94578 Security Defect .