[Mono-bugs] [Bug 79041][Wis] Changed - MaxDB client library and SIGSEGV

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Wed Aug 9 08:06:59 EDT 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 vargaz at gmail.com.

http://bugzilla.ximian.com/show_bug.cgi?id=79041

--- shadow/79041	2006-08-09 06:32:22.000000000 -0400
+++ shadow/79041.tmp.15257	2006-08-09 08:06:59.000000000 -0400
@@ -1,13 +1,13 @@
 Bug#: 79041
 Product: Mono: Runtime
 Version: 1.0
 OS: SLES 9
 OS Details: 
-Status: NEW   
-Resolution: 
+Status: RESOLVED   
+Resolution: NOTABUG
 Severity: Unknown
 Priority: Wishlist
 Component: interop
 AssignedTo: mono-bugs at ximian.com                            
 ReportedBy: dmitryskey at hotmail.com               
 QAContact: mono-bugs at ximian.com
@@ -138,6 +138,26 @@
 Created an attachment (id=17432)
 MaxDB ADO.NET Provider and test cases. Also MaxDB client software has to be installed.
 
 
 ------- Additional Comments From dmitryskey at hotmail.com  2006-08-09 05:59 -------
 Attached file is Tar/GZip archive
+
+------- Additional Comments From vargaz at gmail.com  2006-08-09 08:06 -------
+Tihs is a bug in MaxDB, in particular the following definition in
+the  UnsafeNativeMethods class:
+
+     [DllImport (...)] 
+     public static extern string SQLDBC_ErrorHndl_getSQLState (IntPtr
+herror);
+
+The mono runtime will try to free the string returned by the native 
+getSQLState function after converting it to a C# string, according to
+the .NET pinvoke memory management rules. The C function probably
+returns a pointer to non-malloc-ed storage, causing this function to
+crash. The proper fix is to return an IntPtr, and convert it to a
+string manually.
+
+Please report this as a bug to the MaxDB developers, referencing this
+note.
+
+


More information about the mono-bugs mailing list