reassign 559273 php5
thanks

On Thu, Dec 03, 2009 at 10:05:36AM +0100, Daniel Ly wrote:
> For details see
> http://serverfault.com/questions/90100/64bit-unixodbc-and-freetds-a-bug-in-libtdsodbc-so

> I also reported the bug to PHP and wrote an e-mail to three
> maintainers at FreeTDS because I don't know who is responsible and is
> able to fix the bug.

Quoting from that page:

$ USE_ZEND_ALLOC=0 valgrind --leak-check=full ./current.php
[...]
==3831== Invalid write of size 8
==3831==    at 0xD64420C: (within /usr/lib/odbc/libtdsodbc.so)
==3831==    by 0xB55E859: SQLColAttributes (in /usr/lib/libodbc.so.1.0.0)
==3831==    by 0xB34AA37: odbc_bindcols (in /usr/lib/php5/20060613/odbc.so)
==3831==    by 0xB350B86: zif_odbc_exec (in /usr/lib/php5/20060613/odbc.so)
==3831==    by 0xBDEDC9C: (within /usr/lib/php5/20060613/suhosin.so)
==3831==    by 0x6A5798: (within /usr/bin/php5)
==3831==    by 0x691003: execute (in /usr/bin/php5)
==3831==    by 0xBDEE125: (within /usr/lib/php5/20060613/suhosin.so)
==3831==    by 0x66CDF7: zend_execute_scripts (in /usr/bin/php5)
==3831==    by 0x627667: php_execute_script (in /usr/bin/php5)
==3831==    by 0x6EBFF6: main (in /usr/bin/php5)
==3831==  Address 0xd2b564c is 44 bytes inside a block of size 48 alloc'd
==3831==    at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==3831==    by 0xB34A911: odbc_bindcols (in /usr/lib/php5/20060613/odbc.so)
==3831==    by 0xB350B86: zif_odbc_exec (in /usr/lib/php5/20060613/odbc.so)
==3831==    by 0xBDEDC9C: (within /usr/lib/php5/20060613/suhosin.so)
==3831==    by 0x6A5798: (within /usr/bin/php5)
==3831==    by 0x691003: execute (in /usr/bin/php5)
==3831==    by 0xBDEE125: (within /usr/lib/php5/20060613/suhosin.so)
==3831==    by 0x66CDF7: zend_execute_scripts (in /usr/bin/php5)
==3831==    by 0x627667: php_execute_script (in /usr/bin/php5)
==3831==    by 0x6EBFF6: main (in /usr/bin/php5)

Looking at a 64-bit build log for the php5 version in lenny[1], we see:

/build/buildd/php5-5.2.6.dfsg.1/ext/odbc/php_odbc.c: In function 
'odbc_bindcols':
/build/buildd/php5-5.2.6.dfsg.1/ext/odbc/php_odbc.c:656: warning: passing 
argument 7 of 'SQLColAttributes' from incompatible pointer type
/build/buildd/php5-5.2.6.dfsg.1/ext/odbc/php_odbc.c:679: warning: passing 
argument 7 of 'SQLColAttributes' from incompatible pointer type
/build/buildd/php5-5.2.6.dfsg.1/ext/odbc/php_odbc.c:684: warning: passing 
argument 6 of 'SQLBindCol' from incompatible pointer type

Definitely a php5 bug, not a bug in freetds.  And fixed in unstable -
odbc_result_value.coltype is now correctlydeclared 'SQLLEN', not 'SDWORD'.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org

[1] 
https://buildd.debian.org/fetch.cgi?pkg=php5;ver=5.2.6.dfsg.1-2;arch=alpha;stamp=1231884012

Attachment: signature.asc
Description: Digital signature

Reply via email to