[PHP4BETA] php4+freetds, off-by-1 truncation

richard at iguana.co.nz richard at iguana.co.nz
Sun Dec 5 14:21:07 EST 1999

> Ok, this one is fixed and in CVS.  Or you can patch your local copy
> thusly:
> In src/tds/convert.c function tds_convert_any() change
>    return(strlen(dest));
> to 
>    return (strlen(dest)+1);
> What happens is PHP uses length binding, which for strings should include
> the null as well as the characters in the string.  So, PHP cuts off what
> it thinks in the NULL but is actually the last character.  sqsh and
> DBD::Sybase don't seem to rely on length binding and were uneffected by
> this bug.

Excellent, thankyou. Latest CVS works nicely :) And I didn't even have to
rebuild php. I love dynamic libs..


More information about the FreeTDS mailing list