[Mono-bugs] [Bug 409169] New: ImageCollection.CopyTo broken
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Tue Jul 15 05:51:03 EDT 2008
https://bugzilla.novell.com/show_bug.cgi?id=409169
Summary: ImageCollection.CopyTo broken
Product: Mono: Class Libraries
Version: SVN
Platform: Other
OS/Version: Other
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Windows.Forms
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: andyhume32 at yahoo.co.uk
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Identified by FxCop.
[[
void ICollection.CopyTo(Array dest, int index)
{
for (int imageIndex = 0; imageIndex < this.Count; imageIndex++)
dest.SetValue (this [index], index++);
}
]]
Should be
[[
… ...
dest.SetValue (this [imageIndex], index++);
]]
Renaming imageIndex to srcIndex would make the logic clearer...
Repro:
[[
using System;
using System.Windows.Forms;
using System.Drawing;
class ImageCollectionCopyToOffsetTest {
static void Main()
{
ImageList imgList = new ImageList ();
ImageList.ImageCollection coll = imgList.Images;
Bitmap img1 = new Bitmap (10, 10);
coll.Add (img1);
//
const int dstOffset = 5;
object[] dst = new object[dstOffset + coll.Count];
((System.Collections.IList)coll).CopyTo (dst, dstOffset);
// Mono 1.9 etc actually crashes on the CopyTo (attempting to read
// index five when the collection only contains one item!).
if (dst [dstOffset] == null) {
Console.WriteLine ("CopyTo broken");
}
}
}
]]
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list