From 0d71dcf71319c9bc230f268e3e50314bb7bb9e5e Mon Sep 17 00:00:00 2001 From: Lucas Nascimento <4311885+hexetia@users.noreply.github.com> Date: Sat, 5 Oct 2024 11:39:26 -0300 Subject: [PATCH 1/2] test(#901): call JsonArray.putAll with a casted list as object --- src/test/java/org/json/junit/JSONArrayTest.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/test/java/org/json/junit/JSONArrayTest.java b/src/test/java/org/json/junit/JSONArrayTest.java index 485d43e..7a58d51 100644 --- a/src/test/java/org/json/junit/JSONArrayTest.java +++ b/src/test/java/org/json/junit/JSONArrayTest.java @@ -259,6 +259,11 @@ public class JSONArrayTest { jsonArray.length(), len); + // collection as object + @SuppressWarnings("RedundantCast") + Object myListAsObject = (Object) myList; + jsonArray.putAll(myListAsObject); + for (int i = 0; i < myList.size(); i++) { assertEquals("collection elements should be equal", myList.get(i), From 14e9cdc485f6c80bee6ca1551458bfed1a20348a Mon Sep 17 00:00:00 2001 From: Lucas Nascimento <4311885+hexetia@users.noreply.github.com> Date: Sat, 5 Oct 2024 11:43:00 -0300 Subject: [PATCH 2/2] fix(#901): add the jsonparserConfiguration param to avoid a stackoverflow error --- src/main/java/org/json/JSONArray.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/json/JSONArray.java b/src/main/java/org/json/JSONArray.java index 3823598..406bcd2 100644 --- a/src/main/java/org/json/JSONArray.java +++ b/src/main/java/org/json/JSONArray.java @@ -2001,7 +2001,7 @@ public class JSONArray implements Iterable { // JSONArray this.myArrayList.addAll(((JSONArray)array).myArrayList); } else if (array instanceof Collection) { - this.addAll((Collection)array, wrap, recursionDepth); + this.addAll((Collection)array, wrap, recursionDepth, jsonParserConfiguration); } else if (array instanceof Iterable) { this.addAll((Iterable)array, wrap); } else {