From 87a8052cbe226278982b5a6172f43bcd23f806ef Mon Sep 17 00:00:00 2001 From: de4dot Date: Tue, 31 Jul 2012 04:40:06 +0200 Subject: [PATCH] Declaring type is null if it's already been removed --- de4dot.code/deobfuscators/DeobfuscatorBase.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/de4dot.code/deobfuscators/DeobfuscatorBase.cs b/de4dot.code/deobfuscators/DeobfuscatorBase.cs index 61d4914d..701ebdbb 100644 --- a/de4dot.code/deobfuscators/DeobfuscatorBase.cs +++ b/de4dot.code/deobfuscators/DeobfuscatorBase.cs @@ -412,6 +412,8 @@ namespace de4dot.code.deobfuscators { Log.indent(); foreach (var cctor in emptyCctorsToRemove) { var type = cctor.DeclaringType; + if (type == null) + continue; if (type.Methods.Remove(cctor)) Log.v("{0:X8}, type: {1} ({2:X8})", cctor.MetadataToken.ToUInt32(), @@ -455,6 +457,8 @@ namespace de4dot.code.deobfuscators { if (field == null) continue; var type = field.DeclaringType; + if (type == null) + continue; if (type.Fields.Remove(field)) Log.v("Removed field {0} ({1:X8}) (Type: {2}) (reason: {3})", Utils.removeNewlines(field),