[freetds] SQLGetData() returns len 4095 for empty TEXT on AIX 6.1 without ClientCharset defined

Frediano Ziglio freddy77 at gmail.com
Thu Apr 4 16:21:15 EDT 2013


Fix in git repository. Also fixed problem with AIX and SQLPutData with 0
bytes.

Frediano


2013/4/4 Frediano Ziglio <freddy77 at gmail.com>

> Found!
>
> Actually the problem is in iconv AIX implementation, iconv is a function
> like
>
> 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
> tds_iconv.
>
> Frediano
>
>
>
> 2013/4/2 Sebastien FLAESCH <sf at 4js.com>
>
>> Ok thanks.
>> We'll setup one of our AIX machines to give you access.
>> Seb
>>
>> 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.
>> >
>> > Frediano
>>
>>
>> _______________________________________________
>> FreeTDS mailing list
>> FreeTDS at lists.ibiblio.org
>> http://lists.ibiblio.org/mailman/listinfo/freetds
>>
>
>


More information about the FreeTDS mailing list