Web pgadmin.org
 Home 
 ·  ·  ·  ·  ·  ·  · 
utffile patch

utffile patch



Max Khon wrote:
Hi!

Attached patch fixes coredump in non-Unicode version of pgadmin3.
This allows to build (non-Unicode) pgadmin3 on FreeBSD 4.x.

This patch appears highly dubious to me (apart from the fact that I'd call non-unicode unsupported).

+#if wxUSE_UNICODE
+            size_t buf_len = nLen;
+#else
+            size_t buf_len = nLen * sizeof(wchar_t);
+#endif
> + m_conversion->MB2WC((wchar_t*)(wxChar*)wxStringBuffer(str, buf_len), (const char*)buffer, (size_t)(nLen+1));

wxStringBuffers expects the second parameter to contain the number of characters (not bytes), which will be the same for unicode as and non-unicode. Using sizeof(wchar_t) in non-unicode is just an arbitrary number with no special meaning, might be the magic constant 42 as well. The only mechanism of "fix" I could think of is that wxStringBuffer really should receive nLen+1 instead of nLen. Max, apparently you have a test case, please check nLen+1 instead of buf_len.

Regards,
Andreas



Home | Main Index | Thread Index

top