From 8f248875fb3f196908902b74b70c3e216ddbce3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Tue, 17 Feb 2026 19:48:48 +0100 Subject: [PATCH] Fixed: ConcurrentModification in abc indexing --- CHANGELOG.md | 3 ++- .../decompiler/flash/abc/avm2/parser/script/AbcIndexing.java | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ce15bdc8..977ad7149 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,8 @@ All notable changes to this project will be documented in this file. - Improper standalone layer termination, not cleaning temp files - [#2636] ActionScript - Incorrect always-break detection causing insertion of while(true) - ActionScript - newline after do..while -- StackOverflow on cyclic buttons +- StackOverflow on cyclic characters +- ConcurrentModification in abc indexing ## [25.0.0] - 2026-02-10 ### Added diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AbcIndexing.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AbcIndexing.java index b636b96e2..315f1d28a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AbcIndexing.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AbcIndexing.java @@ -581,7 +581,7 @@ public final class AbcIndexing { /** * Rebuilds package to objects name map. */ - public void rebuildPkgToObjectsNameMap() { + public synchronized void rebuildPkgToObjectsNameMap() { pkgToObjectsName.clear(); Set cs = new LinkedHashSet<>(classes.keySet()); for (ClassDef cd : cs) { @@ -1119,7 +1119,7 @@ public final class AbcIndexing { * * @param abc ABC to add */ - public void addAbc(ABC abc) { + public synchronized void addAbc(ABC abc) { if (abc == null) { return; }