From 7917d875217ffc9017d54968397a03be5b06a45b Mon Sep 17 00:00:00 2001 From: "Jesse N. Glick" Date: Wed, 28 Dec 2005 00:09:58 +0000 Subject: [PATCH] #38056: NPE when using presetdef under obscure circumstances. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@359329 13f79535-47bb-0310-9956-ffa450edef68 --- WHATSNEW | 3 ++- src/etc/testcases/taskdefs/presetdef.xml | 9 +++++++++ src/main/org/apache/tools/ant/UnknownElement.java | 4 ++-- .../org/apache/tools/ant/taskdefs/PreSetDefTest.java | 4 ++++ 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/WHATSNEW b/WHATSNEW index 59d193675..0d621a252 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -67,7 +67,8 @@ Changes that could break older environments: Fixed bugs: ----------- -* Some potential NullPointerExceptions, Bugzilla Report 37765 + +* Some potential NullPointerExceptions, Bugzilla Reports 37765 and 38056 * Problem when adding multiple filter files, Bugzilla Report 37341 diff --git a/src/etc/testcases/taskdefs/presetdef.xml b/src/etc/testcases/taskdefs/presetdef.xml index 64926eef6..32f772167 100644 --- a/src/etc/testcases/taskdefs/presetdef.xml +++ b/src/etc/testcases/taskdefs/presetdef.xml @@ -118,4 +118,13 @@ + + + + + + + + + diff --git a/src/main/org/apache/tools/ant/UnknownElement.java b/src/main/org/apache/tools/ant/UnknownElement.java index e31509d44..d5b680d8c 100644 --- a/src/main/org/apache/tools/ant/UnknownElement.java +++ b/src/main/org/apache/tools/ant/UnknownElement.java @@ -41,7 +41,7 @@ public class UnknownElement extends Task { /** * Holds the namespace of the element. */ - private String namespace; + private String namespace = ""; /** * Holds the namespace qname of the element. @@ -111,7 +111,7 @@ public class UnknownElement extends Task { getProject()); namespace = helper.getCurrentAntlibUri(); } - this.namespace = namespace; + this.namespace = namespace == null ? "" : namespace; } /** Return the qname of the XML element associated with this component. diff --git a/src/testcases/org/apache/tools/ant/taskdefs/PreSetDefTest.java b/src/testcases/org/apache/tools/ant/taskdefs/PreSetDefTest.java index 4d161f24b..ca82f7860 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/PreSetDefTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/PreSetDefTest.java @@ -80,6 +80,10 @@ public class PreSetDefTest extends BuildFileTest { "correct_taskname_badel", "element message", "javac doesn't support the"); } + public void testPresetdefWithNestedElementTwice() { // #38056 + executeTarget("presetdef-with-nested-element-twice"); + executeTarget("presetdef-with-nested-element-twice"); + } /** * A test class to check default properties