[ https://issues.apache.org/jira/browse/VALIDATOR-391?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark E. Scott, Jr. updated VALIDATOR-391: ----------------------------------------- Description: In UrlValidator.java from v1.5.0, there is the following section which generates a null pointer exception, rendering isValid unusable for FILE URLs. {code:title=org/apache/commons/validator/routines/UrlValidator.java} if ("file".equals(scheme)) {// Special case - file: allows an empty authority if (!"".equals(authority)) { if (authority.contains(":")) { // but cannot allow trailing : return false; } } // drop through to continue validation } {code} In the case of a file URL given in my example below, authority is null, and thusly doesn't equal a blank string, so it drops down and calls authority.contains, which generates a NullPointerException. {code:title=Example to generate exception} File localFile = new File("c:\\path\\to\\dir\\"); URL localURL = localFile.toURI().toURL(); String urlString = localURL.toString(); // "file:/C:/path/to/dir/" String[] schemes = {"file"}; UrlValidator urlValidator = new UrlValidator(schemes); urlValidator.isValid(urlString); // null pointer exception {code} was: In UrlValidator.java from v1.5.0, there is the following section which generates a null pointer exception, rendering isValid unusable for FILE URLs. {code:title=UrlValidator.java} if ("file".equals(scheme)) {// Special case - file: allows an empty authority if (!"".equals(authority)) { if (authority.contains(":")) { // but cannot allow trailing : return false; } } // drop through to continue validation } {code} In the case of a file URL given in my example below, authority is null, and thusly doesn't equal a blank string, so it drops down and calls authority.contains, which generates a NullPointerException. {code:title=Example to generate exception} File localFile = new File("c:\\path\\to\\dir\\"); URL localURL = localFile.toURI().toURL(); String urlString = localURL.toString(); // "file:/C:/path/to/dir/" String[] schemes = {"file"}; UrlValidator urlValidator = new UrlValidator(schemes); urlValidator.isValid(urlString); // null pointer exception {code} > UrlValidator.isValid throws exception for FILEURLs > -------------------------------------------------- > > Key: VALIDATOR-391 > URL: https://issues.apache.org/jira/browse/VALIDATOR-391 > Project: Commons Validator > Issue Type: Bug > Components: Routines > Affects Versions: 1.5.0 > Reporter: Mark E. Scott, Jr. > Labels: easyfix > > In UrlValidator.java from v1.5.0, there is the following section which > generates a null pointer exception, rendering isValid unusable for FILE URLs. > {code:title=org/apache/commons/validator/routines/UrlValidator.java} > if ("file".equals(scheme)) {// Special case - file: allows an empty authority > if (!"".equals(authority)) { > if (authority.contains(":")) { // but cannot allow trailing : > return false; > } > } > // drop through to continue validation > } > {code} > In the case of a file URL given in my example below, authority is null, and > thusly doesn't equal a blank string, so it drops down and calls > authority.contains, which generates a NullPointerException. > {code:title=Example to generate exception} > File localFile = new File("c:\\path\\to\\dir\\"); > URL localURL = localFile.toURI().toURL(); > String urlString = localURL.toString(); // "file:/C:/path/to/dir/" > String[] schemes = {"file"}; > UrlValidator urlValidator = new UrlValidator(schemes); > urlValidator.isValid(urlString); // null pointer exception > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)