diff --git a/CHANGELOG.md b/CHANGELOG.md index 728869fea..b924d2d76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ All notable changes to this project will be documented in this file. ## [Unreleased] ### Fixed - [#1948] Timeout while deobfuscation did not skip method +- [#1948] NullPointerException on Simplify expressions on incrementent/decrement ## [18.3.3] - 2023-01-22 ### Added diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java index 15f78b070..cf2f4cd67 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java @@ -548,7 +548,7 @@ public abstract class InstructionDefinition implements Serializable { LocalRegAVM2Item valueLocalReg = (LocalRegAVM2Item) value; LocalRegAVM2Item nameLocalReg = null; if (multiname.name instanceof LocalRegAVM2Item) { - nameLocalReg = (LocalRegAVM2Item) multiname.name;; + nameLocalReg = (LocalRegAVM2Item) multiname.name; } if (obj instanceof LocalRegAVM2Item) { LocalRegAVM2Item objLocalReg = (LocalRegAVM2Item) obj; @@ -669,7 +669,7 @@ public abstract class InstructionDefinition implements Serializable { if ((valueLocalReg.regIndex == valueSetLocalReg.regIndex) && (propertyName.multinameIndex == multinameIndex) - && ((nameLocalReg == null && nameSetLocalReg == null) || (nameLocalReg.regIndex == nameSetLocalReg.regIndex)) + && ((nameLocalReg == null && nameSetLocalReg == null) || (nameLocalReg != null && nameSetLocalReg != null && nameLocalReg.regIndex == nameSetLocalReg.regIndex)) && (objLocalReg.regIndex == objSetLocalReg.regIndex)) { if (nameSetLocalReg != null) { propertyName.name = nameSetLocalReg.value;