You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Mark E. Scott, Jr. (JIRA)" <ji...@apache.org> on 2016/02/25 20:01:18 UTC

[jira] [Created] (VALIDATOR-391) UrlValidator.isValid throws exception for FILEURLs

Mark E. Scott, Jr. created VALIDATOR-391:
--------------------------------------------

             Summary: 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.


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