diff --git a/de4dot.code/renamer/DerivedFrom.cs b/de4dot.code/renamer/DerivedFrom.cs index fefc1b8e..abe4ddc4 100644 --- a/de4dot.code/renamer/DerivedFrom.cs +++ b/de4dot.code/renamer/DerivedFrom.cs @@ -40,6 +40,12 @@ namespace de4dot.code.renamer { } public bool Check(MTypeDef type) { + return Check(type, 0); + } + + public bool Check(MTypeDef type, int recurseCount) { + if (recurseCount >= 100) + return false; if (results.ContainsKey(type)) return results[type]; @@ -53,7 +59,7 @@ namespace de4dot.code.renamer { val = false; } else - val = Check(type.baseType.typeDef); + val = Check(type.baseType.typeDef, recurseCount + 1); results[type] = val; return val;