[Mono-bugs] [Bug 348522] SIGABRT when a custom Binder doesn' t convert parameters correctly

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Thu Jan 24 21:15:02 EST 2008


https://bugzilla.novell.com/show_bug.cgi?id=348522

User miguel at novell.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=348522#c7





--- Comment #7 from Miguel de Icaza <miguel at novell.com>  2008-01-24 19:15:01 MST ---
Rodrigo, thanks for looking at this.

The check for "MIssing.Value" seems useful as a debugging tool;   The crash was
due to MissingValue (a reference type) being unboxed, which triggers an
assertion.

My patch puts type checking in most code paths (there is one, perhaps two
missing) that would ensure that the data matches the method parameter type.  
So the same crash would happen if you had returned something like "new
Dingus()" (if Dingus is a class).

--

Regarding the nullable types: which test failed?   Am curious because I
believed I avoided touching the nullable-type code path.

--

As to the objective, the idea is not to fix all bugs in InvokeMember, as am not
even sure what those would be.   

The goal is to add type checking to the arguments and make sure that the
parameter being specified can be passed to the method being invoked.  This is
what my patch did, but I did not know what to do with the ref-of-class-type
case. 

There are various special cases in there (The test suite was very useful in
pointing out my incorrect assumptions).

My current patch errs on the side of not breaking things, but it has a few
"holes" that can be abused (the FIXME I listed).


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list