Author: kumpera
Date: 2008-01-21 13:30:52 -0500 (Mon, 21 Jan 2008)
New Revision: 93431

Modified:
   trunk/mono/mono/metadata/ChangeLog
   trunk/mono/mono/metadata/verify.c
Log:
2008-01-21 Rodrigo Kumpera  <[EMAIL PROTECTED]>

        * verify.c (do_load_function_ptr): add visibility check.



Modified: trunk/mono/mono/metadata/ChangeLog
===================================================================
--- trunk/mono/mono/metadata/ChangeLog  2008-01-21 18:27:38 UTC (rev 93430)
+++ trunk/mono/mono/metadata/ChangeLog  2008-01-21 18:30:52 UTC (rev 93431)
@@ -1,4 +1,8 @@
-2008-1-21  Massimiliano Mantione  <[EMAIL PROTECTED]>
+2008-01-21 Rodrigo Kumpera  <[EMAIL PROTECTED]>
+
+       * verify.c (do_load_function_ptr): add visibility check.
+
+2008-01-21  Massimiliano Mantione  <[EMAIL PROTECTED]>
        *class.c:
        mono_generic_class_get_class: hook profiler events.
        mono_field_get_offset: added to support heap-shot in the new profiler.

Modified: trunk/mono/mono/metadata/verify.c
===================================================================
--- trunk/mono/mono/metadata/verify.c   2008-01-21 18:27:38 UTC (rev 93430)
+++ trunk/mono/mono/metadata/verify.c   2008-01-21 18:30:52 UTC (rev 93431)
@@ -3476,7 +3476,6 @@
        }
 }
 
-/*TODO add visibility checks*/
 static void
 do_load_function_ptr (VerifyContext *ctx, guint32 token, gboolean virtual)
 {
@@ -3516,6 +3515,9 @@
                if (!verify_type_compatibility (ctx, &method->klass->byval_arg, 
top->type))
                        CODE_NOT_VERIFIABLE (ctx, g_strdup_printf ("Unexpected 
object for ldvirtftn at 0x%04x", ctx->ip_offset));
        }
+       
+       if (!mono_method_can_access_method (ctx->method, method))
+               CODE_NOT_VERIFIABLE (ctx, g_strdup_printf ("Loaded method is 
not visible for ldftn/ldvirtftn at 0x%04x", ctx->ip_offset));
 
        top = stack_push_val(ctx, TYPE_PTR, 
mono_type_create_fnptr_from_mono_method (ctx, method));
        top->method = method;

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to