Thu Oct 11 20:16:58 CEST 2007 Paolo Molaro <lupus@ximian.com>
authorPaolo Molaro <lupus@oddwiz.org>
Thu, 11 Oct 2007 18:04:02 +0000 (18:04 -0000)
committerPaolo Molaro <lupus@oddwiz.org>
Thu, 11 Oct 2007 18:04:02 +0000 (18:04 -0000)
* marshal.c: make sure we don't store the signature from a dynamic
method into the runtime invoke cache (bug #327189).

svn path=/trunk/mono/; revision=87352

mono/metadata/ChangeLog
mono/metadata/marshal.c

index c83c7d53dade99195476e187316ec2a820eb582e..174a739a7a41c5a7e47af80238be1e0f0246b6f6 100644 (file)
@@ -1,4 +1,9 @@
 
+Thu Oct 11 20:16:58 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+       * marshal.c: make sure we don't store the signature from a dynamic
+       method into the runtime invoke cache (bug #327189).
+
 Thu Oct 11 18:22:31 CEST 2007 Paolo Molaro <lupus@ximian.com>
 
        * marshal.c: make sure the wrapper methods are properly initialized.
index 5c45530ce2088a20973d1e23064699f18f9ec58a..ed983743d320d98b3855b97f65804849c03515e7 100644 (file)
@@ -4884,7 +4884,10 @@ mono_marshal_get_runtime_invoke (MonoMethod *method)
                         */
                        callsig = signature_dup_add_this (mono_method_signature (method), method->klass);
                } else {
-                       callsig = mono_method_signature (method);
+                       if (method->dynamic)
+                               callsig = signature_dup (method->klass->image, mono_method_signature (method));
+                       else
+                               callsig = mono_method_signature (method);
                }
        }