[Mono-bugs] [Bug 463003] New: CheckParametersNullityInVisibleMethodsRule returns false positive
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Tue Dec 30 15:43:26 EST 2008
https://bugzilla.novell.com/show_bug.cgi?id=463003
Summary: CheckParametersNullityInVisibleMethodsRule returns false
positive
Product: Mono: Tools
Version: SVN
Platform: x86
OS/Version: Linux
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Gendarme
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: tamara.roberson at gmail.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Gendarme complains about the following code. However, it would be invalid to
call UnpackStringArray (ptr, null). The compiler will prevent that from
occurring (error CS1510).
Attempts to recreate this issue with a simple assembly have failed, sorry. The
code is from Muine (available in bug 462925).
Gendarme should never complain about a parameter that is an out.
PS: typo on "caller is unk[n]own".
Code:
public static IntPtr UnpackStringArray (IntPtr p, out string [] array)
{
IntPtr ret = p;
int len;
ret = Database.UnpackInt (ret, out len);
array = new string [len];
for (int i = 0; i < len; i++)
ret = Database.UnpackString (ret, out array [i]);
return ret;
}
Complaint:
37. CheckParametersNullityInVisibleMethodsRule
Problem: A visible method does not check its parameter(s) for null values.
* Severity: High, Confidence: Normal
* Target: System.IntPtr
Muine.Database::UnpackStringArray(System.IntPtr,System.String[]&)
* Location: array
* Source:
/home/tamara/My_Stuff/Computer/Programming/muine-gendarme-cleanup/muine.gendarme.pointer-length/src/Database.cs(≈345)
Solution: Since the caller is unkown you should always verify all of your
parameters to protect yourself.
More info available at:
http://www.mono-project.com/Gendarme.Rules.Correctness#CheckParametersNullityInVisibleMethodsRule
--
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