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 b0c1412cf22..794c529c6be 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 @@ -151,6 +151,12 @@ private TypeUpdateResult requestUpdate(TypeUpdateInfo updateInfo, InsnArg arg, A return CHANGED; } updateInfo.requestUpdate(arg, candidateType); + if (updateInfo.getUpdates().size() > 500) { + if (Consts.DEBUG) { + LOG.error("Type update error: too deep update tree"); + } + return REJECT; + } try { TypeUpdateResult result = runListeners(updateInfo, arg, candidateType); if (result == REJECT) {