You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2024/03/18 14:14:47 UTC

(commons-configuration) 03/03: Fail fast with a NullPointerException if DataConfiguration.DataConfiguration(Configuration) is called with null

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-configuration.git

commit ccd7c07abceec01293990551cc31968b1db001c9
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Mon Mar 18 10:14:39 2024 -0400

    Fail fast with a NullPointerException if
    DataConfiguration.DataConfiguration(Configuration) is called with null
---
 src/changes/changes.xml                                            | 4 ++++
 .../java/org/apache/commons/configuration2/DataConfiguration.java  | 3 ++-
 .../org/apache/commons/configuration2/TestDataConfiguration.java   | 7 +++++--
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 349cd193..cc439875 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -23,6 +23,10 @@
     <author email="dev@commons.apache.org">Apache Commons Community</author>
   </properties>
   <body>
+    <release version="2.10.2" date="YYYY-MM-DD" description="Minor release with new features and updated dependencies; requires Java 8 or above.">
+      <!-- FIX -->
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fail fast with a NullPointerException if DataConfiguration.DataConfiguration(Configuration) is called with null.</action>
+    </release>
     <release version="2.10.1" date="2024-03-17" description="Minor release with new features and updated dependencies; requires Java 8 or above.">
       <!-- FIX -->
       <action type="fix" issue="CONFIGURATION-840" dev="ggregory" due-to="Gary Gregory">StackOverflowError adding property in AbstractListDelimiterHandler.flattenIterator().</action>
diff --git a/src/main/java/org/apache/commons/configuration2/DataConfiguration.java b/src/main/java/org/apache/commons/configuration2/DataConfiguration.java
index 909267b0..bb6af620 100644
--- a/src/main/java/org/apache/commons/configuration2/DataConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/DataConfiguration.java
@@ -29,6 +29,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
 import java.util.NoSuchElementException;
+import java.util.Objects;
 
 import org.apache.commons.configuration2.convert.ConversionHandler;
 import org.apache.commons.configuration2.convert.DefaultConversionHandler;
@@ -145,7 +146,7 @@ public class DataConfiguration extends AbstractConfiguration {
      * @param configuration the wrapped configuration
      */
     public DataConfiguration(final Configuration configuration) {
-        this.configuration = configuration;
+        this.configuration = Objects.requireNonNull(configuration);
         this.dataConversionHandler = new DataConversionHandler();
     }
 
diff --git a/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java b/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java
index c3d3a84f..4c53bcfd 100644
--- a/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java
@@ -1977,9 +1977,12 @@ public class TestDataConfiguration {
         final DataConfiguration conf = new DataConfiguration(baseconf);
 
         assertTrue(conf.isEmpty());
-
         baseconf.setProperty("foo", "bar");
-
         assertFalse(conf.isEmpty());
     }
+
+    @Test
+    public void testNullConfiguration() {
+        assertThrows(NullPointerException.class, () -> new DataConfiguration(null));
+    }
 }