Author: zoltan
Date: 2007-05-23 18:47:58 -0400 (Wed, 23 May 2007)
New Revision: 77876

Modified:
   trunk/mono/mono/metadata/ChangeLog
   trunk/mono/mono/metadata/reflection.c
Log:
2007-05-24  Zoltan Varga  <[EMAIL PROTECTED]>

        * reflection.c (mono_custom_attrs_from_param): Make a copy of the 
dynamic attr
        info.


Modified: trunk/mono/mono/metadata/ChangeLog
===================================================================
--- trunk/mono/mono/metadata/ChangeLog  2007-05-23 22:47:08 UTC (rev 77875)
+++ trunk/mono/mono/metadata/ChangeLog  2007-05-23 22:47:58 UTC (rev 77876)
@@ -1,3 +1,8 @@
+2007-05-24  Zoltan Varga  <[EMAIL PROTECTED]>
+
+       * reflection.c (mono_custom_attrs_from_param): Make a copy of the 
dynamic attr
+       info.
+
 2007-05-22  Zoltan Varga  <[EMAIL PROTECTED]>
 
        * reflection.c (encode_cattr_value): Fix yet another object cattr 
encoding issue.

Modified: trunk/mono/mono/metadata/reflection.c
===================================================================
--- trunk/mono/mono/metadata/reflection.c       2007-05-23 22:47:08 UTC (rev 
77875)
+++ trunk/mono/mono/metadata/reflection.c       2007-05-23 22:47:58 UTC (rev 
77876)
@@ -7324,10 +7324,19 @@
        MonoReflectionMethodAux *aux;
 
        if (method->klass->image->dynamic) {
+               MonoCustomAttrInfo *res, *ainfo;
+               int size;
+
                aux = g_hash_table_lookup 
(((MonoDynamicImage*)method->klass->image)->method_aux_hash, method);
                if (!aux || !aux->param_cattr)
                        return NULL;
-               return aux->param_cattr [param];
+
+               /* Need to copy since it will be freed later */
+               ainfo = aux->param_cattr [param];
+               size = sizeof (MonoCustomAttrInfo) + sizeof 
(MonoCustomAttrEntry) * (ainfo->num_attrs - MONO_ZERO_LEN_ARRAY);
+               res = g_malloc0 (size);
+               memcpy (res, ainfo, size);
+               return res;
        }
 
        image = method->klass->image;

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

Reply via email to