utffile patch - Mailing list pgadmin-hackers

From Andreas Pflug
Subject utffile patch
Date
Msg-id 421D02FD.4080206@pse-consulting.de
Whole thread Raw
In response to Re: [pgadmin-support] [ANNOUNCE] pgAdmin III 1.2.0 Released  (Max Khon <fjoe@samodelkin.net>)
Responses Re: utffile patch  (Max Khon <fjoe@samodelkin.net>)
List pgadmin-hackers
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

pgadmin-hackers by date:

Previous
From: "Dave Page"
Date:
Subject: Re: [pgadmin-support] [ANNOUNCE] pgAdmin III 1.2.0 Released
Next
From: blacknoz@club-internet.fr
Date:
Subject: Re: upgrade to wx2.5.4