[Mono-dev] PtrToStructure, FreeHGlobal, then access to the structure
Andy Hume
andyhume32 at yahoo.co.uk
Tue Aug 12 04:50:30 EDT 2008
In the class library I see a few pieces of code like the following. Am I
correct in thinking that code like this is bad?
info = Marshal.PtrToStructure (ptr, ...);
Marshal.FreeHGlobal (ptr);
// now we access the structure
int id = info.Id;
string name = Marshal.PtrToStringUni (info.Name);
Since the structure might contain only blittable types then the structure
reference may simply be to the native memory and not to a managed copy? So
accessing a field there is accessing free'd memory...
With strict native heap enabled it fails, so something is wrong...
Andy
--
View this message in context: http://www.nabble.com/PtrToStructure%2C-FreeHGlobal%2C-then-access-to-the-structure-tp18940257p18940257.html
Sent from the Mono - Dev mailing list archive at Nabble.com.
More information about the Mono-devel-list
mailing list