[ https://issues.apache.org/jira/browse/VALIDATOR-391?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason Loomis updated VALIDATOR-391: ----------------------------------- Attachment: UrlValidatorTest.java.patch Attached simple test for NullPointerException with the example URL: file:/C:/path/to/dir/ > 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 > Attachments: UrlValidator.java.patch, UrlValidatorTest.java.patch > > > 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)