init
diff --git a/log4j-api-test/src/test/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMapTest.java b/log4j-api-test/src/test/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMapTest.java
index 5957a93..3f43e3e 100644
--- a/log4j-api-test/src/test/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMapTest.java
+++ b/log4j-api-test/src/test/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMapTest.java
@@ -55,18 +55,19 @@
@Test
public void testCopyAndPut() {
UnmodifiableArrayBackedMap testMap = UnmodifiableArrayBackedMap.EMPTY_MAP;
- testMap = testMap.copyAndPut("1", "value1");
- assertTrue(testMap.containsKey("1"));
- assertEquals(testMap.get("1"), "value1");
+ testMap = testMap.copyAndPut("6", "value6");
+ assertTrue(testMap.containsKey("6"));
+ assertEquals(testMap.get("6"), "value6");
- testMap = testMap.copyAndPut("1", "another value");
- assertTrue(testMap.containsKey("1"));
- assertEquals(testMap.get("1"), "another value");
+ testMap = testMap.copyAndPut("6", "another value");
+ assertTrue(testMap.containsKey("6"));
+ assertEquals(testMap.get("6"), "another value");
HashMap<String, String> newValues = getTestParameters();
testMap = testMap.copyAndPutAll(newValues);
assertEquals(testMap.get("1"), "value1");
assertEquals(testMap.get("4"), "value4");
+ assertEquals(testMap.get("6"), "another value");
}
@Test
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMap.java b/log4j-api/src/main/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMap.java
index cab4dc2..eada687 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMap.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMap.java
@@ -282,6 +282,7 @@
// copy the contents of the current map (if any)
if (numEntries > 0) {
System.arraycopy(backingArray, 0, newMap.backingArray, 0, numEntries * 2 + 1);
+ newMap.numEntries = numEntries;
}
for (Map.Entry<String, String> entry : entriesToAdd.entrySet()) {