From 983f0dbc16a4c8b93fae21bfc480b03138104a7a Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Tue, 24 Jun 2008 04:29:40 +0000 Subject: [PATCH] fix NPE when running inside a container that puts non-String values inside the system properties git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@671018 13f79535-47bb-0310-9956-ffa450edef68 --- WHATSNEW | 3 +++ src/main/org/apache/tools/ant/types/CommandlineJava.java | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/WHATSNEW b/WHATSNEW index affa69769..f76fae1eb 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -73,6 +73,9 @@ Fixed bugs: within messageLogged while a different thread also accessed one. Bugzilla report 45194 + * Handle null result of system getProperty() in CommandlineJava. + Similar to Bugzilla report 42334. + Other changes: -------------- diff --git a/src/main/org/apache/tools/ant/types/CommandlineJava.java b/src/main/org/apache/tools/ant/types/CommandlineJava.java index efaa6f437..921eebd81 100644 --- a/src/main/org/apache/tools/ant/types/CommandlineJava.java +++ b/src/main/org/apache/tools/ant/types/CommandlineJava.java @@ -140,7 +140,10 @@ public class CommandlineJava implements Cloneable { Properties p = new Properties(); for (Enumeration e = sys.propertyNames(); e.hasMoreElements();) { String name = (String) e.nextElement(); - p.put(name, sys.getProperty(name)); + String value = sys.getProperty(name); + if (name != null && value != null) { + p.put(name, value); + } } p.putAll(mergePropertySets()); for (Enumeration e = variables.elements(); e.hasMoreElements();) {