Bug 43292 - NullPointException in FilterMapper
Summary: NullPointException in FilterMapper
Status: RESOLVED FIXED
Alias: None
Product: Ant
Classification: Unclassified
Component: Core tasks (show other bugs)
Version: 1.7.0
Hardware: Other Windows XP
: P2 major (vote)
Target Milestone: 1.7.1
Assignee: Ant Notifications List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-03 03:35 UTC by Grigory Kislin
Modified: 2008-02-22 12:18 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Grigory Kislin 2007-09-03 03:35:17 UTC
No check for null:

    public String[] mapFileName(String sourceFileName) {

            String result = FileUtils.readFully(helper.getAssembledReader());
!!!         if (result.length() == 0) {
                return null;

change to:
            if (result==null || result.length() == 0) {


java.lang.NullPointerException
	at
org.apache.tools.ant.types.mappers.FilterMapper.mapFileName(FilterMapper.java:74)
	at org.apache.tools.ant.util.CompositeMapper.mapFileName(CompositeMapper.java:38)
	at gekis.ant.taskdefs.Append.buildMap(Append.java:691)
	at gekis.ant.taskdefs.Append.scan(Append.java:630)
	at gekis.ant.taskdefs.Append.execute(Append.java:513)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
	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.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:357)
	at org.apache.tools.ant.Target.performTasks(Target.java:385)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
	at
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
	at gekis.ant.process.StepsProcessor.execute(StepsProcessor.java:136)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
	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.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:357)
	at org.apache.tools.ant.Target.performTasks(Target.java:385)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
	at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
	at org.apache.tools.ant.Main.runBuild(Main.java:698)
	at org.apache.tools.ant.Main.startAnt(Main.java:199)
	at org.apache.tools.ant.Main.start(Main.java:161)
	at org.apache.tools.ant.Main.main(Main.java:250)
Comment 1 Peter Reilly 2007-09-03 03:45:18 UTC
Yes, FileUtils.readFully() can return null for empty
files.
I would rather change FileUtils.readFully() rather
that have all the clients do the null check stepdance.
Comment 2 Peter Reilly 2007-09-03 05:59:49 UTC
Thanks for the report, I fixed FileUtils.readFully
to do the right thing.
Will be in the next ant release.