commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niall Pemberton" <niall.pember...@gmail.com>
Subject Re: [commons-io] NPE on FilenameUtils.equalsNormalizedOnSystem()
Date Fri, 12 Oct 2007 17:06:05 GMT
On 10/12/07, Antonio Gallardo <agallardo@agssa.net> wrote:
> Hi folks,
>
> The following code in commons-io (1.3.2) throws an NPE exception:
>
> org.apache.commons.io.FilenameUtils
>      .equalsNormalizedOnSystem(
>              "//a.html",
>              "//ab.html");
>
> And here is the exception:
>
> java.lang.NullPointerException: The strings must not be null
>     at org.apache.commons.io.IOCase.checkEquals(IOCase.java:141)
>     at org.apache.commons.io.FilenameUtils.equals(FilenameUtils.java:984)
>     at
> org.apache.commons.io.FilenameUtils.equalsNormalizedOnSystem(FilenameUtils.java:956)
>     at CodeSnippet_32.run(CodeSnippet_32.java:4)
>     at
> org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookMain1.eval(ScrapbookMain1.java:20)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:585)
>     at
> org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookMain.evalLoop(ScrapbookMain.java:54)
>     at
> org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookMain.main(ScrapbookMain.java:35)
>
> I think it is wrong the message "The strings must not be null", since
> there is not a null string involved in the call.
>
> Interesting is that is both or 1 of the strings is null it did not
> throws an exception.

The problem is that the FilenameUtils's normalize(String) method
returns "null" if it thinks the file names are invalid - which in your
case it seems to be doing so for both file names.

So I guess theres two issues here - you're right the error is
misleading and FilenameUtils should check the names again after
calling normalize() for nulls and throw a more appropriate message.

> Should I fill a JIRA issue for that?

Please do

Niall

> Many thanks in advance for your reply.
>
> Best Regards,
>
> Antonio Gallardo.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message