Skip to content

Commit 2524c0e

Browse files
LuciferYangppkarwasz
authored andcommitted
Fix bug in DefaultThreadContextMap.putAll()
1 parent 5a3f513 commit 2524c0e

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

log4j-api-test/src/test/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMapTest.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,18 +55,19 @@ private HashMap<String, String> getTestParameters(int numParams) {
5555
@Test
5656
public void testCopyAndPut() {
5757
UnmodifiableArrayBackedMap testMap = UnmodifiableArrayBackedMap.EMPTY_MAP;
58-
testMap = testMap.copyAndPut("1", "value1");
59-
assertTrue(testMap.containsKey("1"));
60-
assertEquals(testMap.get("1"), "value1");
58+
testMap = testMap.copyAndPut("6", "value6");
59+
assertTrue(testMap.containsKey("6"));
60+
assertEquals(testMap.get("6"), "value6");
6161

62-
testMap = testMap.copyAndPut("1", "another value");
63-
assertTrue(testMap.containsKey("1"));
64-
assertEquals(testMap.get("1"), "another value");
62+
testMap = testMap.copyAndPut("6", "another value");
63+
assertTrue(testMap.containsKey("6"));
64+
assertEquals(testMap.get("6"), "another value");
6565

6666
HashMap<String, String> newValues = getTestParameters();
6767
testMap = testMap.copyAndPutAll(newValues);
6868
assertEquals(testMap.get("1"), "value1");
6969
assertEquals(testMap.get("4"), "value4");
70+
assertEquals(testMap.get("6"), "another value");
7071
}
7172

7273
@Test

log4j-api/src/main/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMap.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@ public UnmodifiableArrayBackedMap copyAndPutAll(Map<String, String> entriesToAdd
282282
// copy the contents of the current map (if any)
283283
if (numEntries > 0) {
284284
System.arraycopy(backingArray, 0, newMap.backingArray, 0, numEntries * 2 + 1);
285+
newMap.numEntries = numEntries;
285286
}
286287

287288
for (Map.Entry<String, String> entry : entriesToAdd.entrySet()) {

0 commit comments

Comments
 (0)