[Mono-bugs] [Bug 80263][Maj] Changed - Getting custom attributes when one attribute was initialized with a params array that includes a string array crashes the runtime

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri Dec 15 20:02:54 EST 2006

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by dmitchell at logos.com.


--- shadow/80263	2006-12-15 19:57:14.000000000 -0500
+++ shadow/80263.tmp.1638	2006-12-15 20:02:54.000000000 -0500
@@ -109,6 +109,28 @@
 14 characters, resulting in the dreaded "off by n" problem.
 ------- Additional Comments From dmitchell at logos.com  2006-12-15 19:57 -------
 Created an attachment (id=18299)
 This patch will fix the problem described by this but
+------- Additional Comments From dmitchell at logos.com  2006-12-15 20:02 -------
+I may have been incorrect in some of my characterization of the but, due to testing with 
+the MS C# compiler before I realized that the bug was occurring during assembly creation.
+New description:
+When encoding a blob for a custom attribute, if the parameters for the attribute 
+constructor consists of a params array of objects that includes (as one of its elements) 
+another array, the inner array will not be encoded correctly.
+This happened because the call to the function to encode each element was not passing 
+the correct type information, and elements would not be encoded correctly.
+This bug would manifest itself only at runtime, and only if there was a call to get the 
+custom attributes on the item that had the bogus data encoding.
+On another note, this is my first foray into Mono development, so I don't have permission 
+to apply patches or anything fancy like that. I would appreciate it if someone with the 
+appropriate permissions would test my fix (the code in the initial example should compile 
+and run correctly after applying the patch) and enter it into the repository.

More information about the mono-bugs mailing list