From 5a45738c6d5599750ffbdcd8430743171239d990 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Tue, 13 Sep 2022 11:56:59 -0500 Subject: [PATCH] Prevent race condition in loops over all bookmarks java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(HashMap.java:1441) at java.util.HashMap$ValueIterator.next(HashMap.java:1470) --- src/main/java/eu/siacs/conversations/entities/Account.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/eu/siacs/conversations/entities/Account.java b/src/main/java/eu/siacs/conversations/entities/Account.java index dc354adc4a90e19639fe72a5fbbe069bf6a3967c..bfcee9597e66a45471802d315ce1a41eae69b1e8 100644 --- a/src/main/java/eu/siacs/conversations/entities/Account.java +++ b/src/main/java/eu/siacs/conversations/entities/Account.java @@ -488,7 +488,9 @@ public class Account extends AbstractEntity implements AvatarService.Avatarable } public Collection getBookmarks() { - return this.bookmarks.values(); + synchronized (this.bookmarks) { + return new HashSet<>(this.bookmarks.values()); + } } public void setBookmarks(Map bookmarks) {