commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Loomis (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (VALIDATOR-391) UrlValidator.isValid throws exception for FILEURLs
Date Fri, 29 Apr 2016 07:32:12 GMT

     [ 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)

Mime
View raw message