From 4051a50146cd37d163286e69ad04dd93075b7b7e Mon Sep 17 00:00:00 2001 From: Skylot <118523+skylot@users.noreply.github.com> Date: Sun, 22 Mar 2026 19:41:26 +0000 Subject: [PATCH] fix: stop type inference on exception (prevent endless loop) --- .../jadx/core/dex/visitors/typeinference/TypeUpdate.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/typeinference/TypeUpdate.java b/jadx-core/src/main/java/jadx/core/dex/visitors/typeinference/TypeUpdate.java index 3086195f2..32d8f6f0e 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/typeinference/TypeUpdate.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/typeinference/TypeUpdate.java @@ -30,6 +30,7 @@ import jadx.core.dex.nodes.InsnNode; import jadx.core.dex.nodes.MethodNode; import jadx.core.dex.nodes.RootNode; import jadx.core.dex.nodes.utils.TypeUtils; +import jadx.core.utils.exceptions.JadxOverflowException; import jadx.core.utils.exceptions.JadxRuntimeException; import static jadx.core.dex.visitors.typeinference.TypeUpdateResult.CHANGED; @@ -102,9 +103,10 @@ public final class TypeUpdate { } updateInfo.applyUpdates(); return CHANGED; + } catch (JadxOverflowException e) { + throw e; } catch (Exception e) { - mth.addWarnComment("Type update failed for variable: " + ssaVar + ", new type: " + candidateType, e); - return REJECT; + throw new JadxRuntimeException("Type update failed for variable: " + ssaVar + ", new type: " + candidateType, e); } }