From 0bbbd961aa9947c91cb2fb3bfddaf5eb61aa26d4 Mon Sep 17 00:00:00 2001 From: Pasqual Koschmieder Date: Thu, 7 Jul 2022 09:51:06 +0200 Subject: [PATCH] synchronize collections with possible concurrent accesses (#1723) --- .../injector/netty/channel/NettyChannelInjector.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/comphenix/protocol/injector/netty/channel/NettyChannelInjector.java b/src/main/java/com/comphenix/protocol/injector/netty/channel/NettyChannelInjector.java index 8661016b..0c16a548 100644 --- a/src/main/java/com/comphenix/protocol/injector/netty/channel/NettyChannelInjector.java +++ b/src/main/java/com/comphenix/protocol/injector/netty/channel/NettyChannelInjector.java @@ -27,6 +27,9 @@ import io.netty.channel.ChannelHandler; import io.netty.util.AttributeKey; import java.lang.reflect.Field; import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; import java.util.HashSet; import java.util.Map; import java.util.Map.Entry; @@ -95,8 +98,8 @@ public class NettyChannelInjector implements Injector { private final FieldAccessor channelField; - private final Set skippedPackets = new HashSet<>(); - private final Set processedPackets = new HashSet<>(); + private final Set skippedPackets = Collections.synchronizedSet(new HashSet<>()); + private final Collection processedPackets = Collections.synchronizedList(new ArrayList<>()); private final Map savedMarkers = new WeakHashMap<>(16, 0.9f); // status of this injector