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

Frediano Ziglio freddy77 at gmail.com
Thu Apr 4 14:43:49 EDT 2013


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