* marshal.c (mono_marshal_get_runtime_invoke): Avoid aliasing
authorRaja R Harinath <harinath@hurrynot.org>
Mon, 8 Jan 2007 15:13:28 +0000 (15:13 -0000)
committerRaja R Harinath <harinath@hurrynot.org>
Mon, 8 Jan 2007 15:13:28 +0000 (15:13 -0000)
between type->data.klass and type->data.generic_class.

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

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

index 9de645a340b6d6b39e2d1d621e4d36bce113d834..330856b7754bd4a443cbf1dd5176fd6206898d8e 100644 (file)
@@ -1,3 +1,8 @@
+2007-01-08  Raja R Harinath  <rharinath@novell.com>
+
+       * marshal.c (mono_marshal_get_runtime_invoke): Avoid aliasing
+       between type->data.klass and type->data.generic_class.
+
 2007-01-08  Lluis Sanchez  <lluis@ximian.com>
 
        * marshal.c: In MS.NET, StringBuilder objects are not copied by
index bd4c69d0bb2b2add5382222cb9859af613b381a9..d84d93f5d0609ef1dfce9ae4d22cede4bfab670a 100644 (file)
@@ -4628,7 +4628,7 @@ handle_enum:
 
                        /* fall through */
                case MONO_TYPE_VALUETYPE:
-                       if (t->data.klass->enumtype) {
+                       if (type == MONO_TYPE_VALUETYPE && t->data.klass->enumtype) {
                                type = t->data.klass->enum_basetype->type;
                                goto handle_enum;
                        }