]> nmode's Git Repositories - signal-cli/commitdiff
Copy managers list to prevent ConcurrentModificationException
authorAsamK <asamk@gmx.de>
Sun, 5 Dec 2021 14:15:53 +0000 (15:15 +0100)
committerAsamK <asamk@gmx.de>
Sun, 5 Dec 2021 14:32:42 +0000 (15:32 +0100)
lib/src/main/java/org/asamk/signal/manager/MultiAccountManagerImpl.java

index 8fd1d5aaf7ab72f4e52e024beb8960ee5b26b861..74c4c20ac5f57646157f73230a4c64c2399c1ea4 100644 (file)
@@ -7,6 +7,7 @@ import org.slf4j.LoggerFactory;
 import java.io.File;
 import java.io.IOException;
 import java.net.URI;
 import java.io.File;
 import java.io.IOException;
 import java.net.URI;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -124,7 +125,7 @@ public class MultiAccountManagerImpl implements MultiAccountManager {
     @Override
     public void close() {
         synchronized (managers) {
     @Override
     public void close() {
         synchronized (managers) {
-            for (var m : managers) {
+            for (var m : new ArrayList<>(managers)) {
                 try {
                     m.close();
                 } catch (IOException e) {
                 try {
                     m.close();
                 } catch (IOException e) {