Skip to content

Commit b70f7b9

Browse files
authored
Merge pull request #215 from rohitninawe/master
Fix ConcurrentModificationException in RNSslPinningModule.java
2 parents 964d0ad + c8e18d6 commit b70f7b9

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

android/src/main/java/com/toyberman/RNSslPinningModule.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
import java.util.List;
3030
import java.util.Map;
3131
import java.util.Set;
32+
import java.util.concurrent.ConcurrentHashMap;
33+
import java.util.concurrent.CopyOnWriteArrayList;
3234

3335
import okhttp3.Call;
3436
import okhttp3.Cookie;
@@ -48,15 +50,15 @@ public class RNSslPinningModule extends ReactContextBaseJavaModule {
4850
private static final String KEY_NOT_ADDED_ERROR = "sslPinning key was not added";
4951

5052
private final ReactApplicationContext reactContext;
51-
private final HashMap<String, List<Cookie>> cookieStore;
53+
private final Map<String, List<Cookie>> cookieStore;
5254
private CookieJar cookieJar = null;
5355
private ForwardingCookieHandler cookieHandler;
5456
private OkHttpClient client;
5557

5658
public RNSslPinningModule(ReactApplicationContext reactContext) {
5759
super(reactContext);
5860
this.reactContext = reactContext;
59-
cookieStore = new HashMap<>();
61+
cookieStore = new ConcurrentHashMap<>();
6062
cookieHandler = new ForwardingCookieHandler(reactContext);
6163
cookieJar = new CookieJar() {
6264

@@ -79,7 +81,7 @@ public void setCookie(HttpUrl url, Cookie cookie) {
7981

8082
List<Cookie> cookieListForUrl = cookieStore.get(host);
8183
if (cookieListForUrl == null) {
82-
cookieListForUrl = new ArrayList<Cookie>();
84+
cookieListForUrl = new CopyOnWriteArrayList<>();
8385
cookieStore.put(host, cookieListForUrl);
8486
}
8587
try {

0 commit comments

Comments
 (0)