[freetds] SQLGetData() returns len 4095 for empty TEXT on AIX 6.1 without ClientCharset defined
sf at 4js.com
Fri Apr 5 03:09:47 EDT 2013
I am not 100% sure it's a problem in AIX iconv:
Read the man pages of iconv on Linux...
A different case is when inbuf is NULL or *inbuf is NULL, but outbuf is not
NULL and *outbuf is not NULL. In this case, the iconv() function attempts
to set cd's conversion state to the initial state and store a corresponding
shift sequence at *outbuf. At most *outbytesleft bytes, starting at *outbuf,
will be written. If the output buffer has no more room for this reset sequence,
it sets errno to E2BIG and returns (size_t) -1. Otherwise it increments
*outbuf and decrements *outbytesleft by the number of bytes written.
On 04/04/2013 08:43 PM, Frediano Ziglio wrote:
> Actually the problem is in iconv AIX implementation, iconv is a function
> size_t iconv(iconv_t cd,
> char **inbuf, size_t *inbytesleft,
> char **outbuf, size_t *outbytesleft);
> if *inbuf is NULL and *inbytesleft is 0 AIX threat input as an infinite
> buffer with zeroes so it convert an empty string (cause for libTDS view is
> an empty string) to a set of zeroes (actually up to the output buffer which
> is 4095 if you take into account space for terminator).
> The simpler fix is to test and assume empty string if *inbytesleft == 0 in
> 2013/4/2 Sebastien FLAESCH<sf at 4js.com>
>> Ok thanks.
>> We'll setup one of our AIX machines to give you access.
>> On 03/30/2013 04:24 PM, Frediano Ziglio wrote:
>>> Can I have access to one of the AIX machines ??
>>> I'm currently on holidays, I'll be back on Thursday.
>> FreeTDS mailing list
>> FreeTDS at lists.ibiblio.org
> FreeTDS mailing list
> FreeTDS at lists.ibiblio.org
More information about the FreeTDS