marshal.c: Correct (for non-Win32 OS) length != size in mono_string_from_bstr. Fix...
authorSebastien Pouliot <sebastien@ximian.com>
Tue, 6 Nov 2007 17:50:28 +0000 (17:50 -0000)
committerSebastien Pouliot <sebastien@ximian.com>
Tue, 6 Nov 2007 17:50:28 +0000 (17:50 -0000)
svn path=/trunk/mono/; revision=89012

mono/metadata/ChangeLog
mono/metadata/marshal.c

index b0cae20d417257e0ade8138879db2200bb525514..7b73e78de757b49a02545d51f0f071d9e5a8e077 100644 (file)
@@ -1,3 +1,8 @@
+2007-11-06  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * marshal.c: Correct (for non-Win32 OS) length != size in 
+       mono_string_from_bstr. Fix #339530.
+
 2007-11-06  Geoff Norton  <gnorton@novell.com>
 
        * socket-io.c: Apple requires sin(6)_len to be set for getnameinfo
index 96cca512ada4fc4fcc4a1f97022557417cc8671c..9edeff1dae1e06e727b21d9b1b7cf6677cd23f93 100644 (file)
@@ -1130,7 +1130,7 @@ mono_string_from_bstr (gpointer bstr)
                return NULL;
        return mono_string_new_utf16 (mono_domain_get (), bstr, SysStringLen (bstr));
 #else
-       return mono_string_new_utf16 (mono_domain_get (), bstr, *(guint32 *)((char *)bstr - 4));
+       return mono_string_new_utf16 (mono_domain_get (), bstr, *(guint32 *)((char *)bstr - 4) / 2);
 #endif
 }