MSIL Verification Notes – 11


Tired of creating one sample for one unverifiable scenario. Here is a laundry list for the other scenarios I know of. Build the sample in your mind and be happy.


calli by design unverifiable


ldftn/ldvirtftn not allowedn on .ctor


 “This” parameter does not match the calling method


arglist is used in non-vararg method


Tailcall return type does not match


Throw “this” in the constructor


Bad Instance call with mismatch type


Use of this ptr when it is not fully initialized


Newobj on statci or abstract method 


Overlapping try blocks 


Incorrect Filter offset size


Use static opcode with instance field


Bad use of initonly field


Accessing fields that should be invisible to other types


Use of unknown type tokens


Tail call not followed by return


Treat pointer as byref


Modify an imaged based <RVA> static belong to the module


Init Locals are not set


Bad endfilter argument


Array operation on non-array object


Jump to the middle of one Opcode


Branch out of Try block


CallVirt on ValueClass


Conditional Branch type mismatch


cpobj type of source address incompatible with type operand


wrong number args to delegate ctor


endfilter outside of exception filter


ldvrirftn on static method


Illegal use of leave to enter exception handler