X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fmetadata-verify.c;h=753e5269e921bdb9dec91aa0fdac4faf9f4f817b;hb=051f49639d915710cc8495bdaeb93f5da592b549;hp=65f3bba5686998a1b5b7ea59f79fd20ffbd4cf70;hpb=ca39924db549a69fe6b7dc9ab05137e0ad13afe6;p=mono.git diff --git a/mono/metadata/metadata-verify.c b/mono/metadata/metadata-verify.c index 65f3bba5686..753e5269e92 100644 --- a/mono/metadata/metadata-verify.c +++ b/mono/metadata/metadata-verify.c @@ -2925,6 +2925,7 @@ verify_cattr_table (VerifyContext *ctx) static void verify_cattr_table_full (VerifyContext *ctx) { + MonoError error; MonoTableInfo *table = &ctx->image->tables [MONO_TABLE_CUSTOMATTRIBUTE]; MonoMethod *ctor; const char *ptr; @@ -2949,7 +2950,12 @@ verify_cattr_table_full (VerifyContext *ctx) ADD_ERROR (ctx, g_strdup_printf ("Invalid CustomAttribute constructor row %d Token 0x%08x", i, data [MONO_CUSTOM_ATTR_TYPE])); } - ctor = mono_get_method (ctx->image, mtoken, NULL); + ctor = mono_get_method_checked (ctx->image, mtoken, NULL, NULL, &error); + + if (!ctor) { + ADD_ERROR (ctx, g_strdup_printf ("Invalid CustomAttribute content row %d Could not load ctor due to %s", i, mono_error_get_message (&error))); + mono_error_cleanup (&error); + } /*This can't fail since this is checked in is_valid_cattr_blob*/ g_assert (decode_signature_header (ctx, data [MONO_CUSTOM_ATTR_VALUE], &size, &ptr));