Bug in interbase.c "invalid BLOB ID"

From: Date: Fri, 28 Nov 2008 05:15:25 +0000
Subject: Bug in interbase.c "invalid BLOB ID"
Groups: php.internals 
Request: Send a blank email to internals+get-42066@lists.php.net to get a copy of this message
Hi! As some other users recognized, there is a bug in the implementation of the function "_php_ibase_quad_to_string". (imho since version 5.2.1) The line "spprintf(&result, BLOB_ID_LEN+1, "0x%0*" LL_MASK "x", 16, *(ISC_UINT64*)(void *) &qd);" doesnt work as estimated. The result stored inside qd isnt the value convertet from the string, but something else. Normally this should work, but it doesnt. One possible solution is, to change the line into "spprintf(&result, BLOB_ID_LEN+1, "0x%0*x%0*x", 8, qd.gds_quad_low, 8, qd.gds_quad_high);" Of course, there might be a smarter way, but this solution worked for me. My system is a Fedora Core 8 64bit.

« previous php.internals (#42066) next »