From:             roland dot wintgen at t-online dot de
Operating system: Linux
PHP version:      4.4.0
PHP Bug Type:     Informix related
Bug description:  ESQL Version numbering schema changed

Description:
------------
After installing the current CSDK 2.90, some database functions using
blobs will produce core dumps. This is due to IBM changed the version
number for the installed CSDK. Whereas esql -V for 2.80 shows "IBM
Informix CSDK 2.80, IBM Informix-ESQL Version 9.52.UC1", 2.90 will show
"IBM Informix CSDK Version 2.90, IBM Informix-ESQL Version 2.90.UC1". This
leads to a problem in ext/informix/config.m4 where the installed version is
read into IFX_VERSION. This value is interpreted in ext/informix/ifx.ec
around line 3258 to workaround a bug in older versions. Now, with the
wrong version number this will not run properly and tries to deallocate
the blob space twice. The bug shows also for PHP 4.3.X and 5.X.X.


Reproduce code:
---------------
ifx_textasvarchar(0);
ifx_blobinfile_mode(0);

// storing BLOB into database
$conn_id = @ifx_connect("database", "user", "password") or die("error
connecting to database!");
$blob_id = @ifx_create_blob(1, 0, "This text will be stored as blob") or
die("error creating blob!");
$blob[] = $blob_id;
$query_id = @ifx_query("insert into blobtable (blob) values (?)",
$conn_id, $blob) or die("error executing sql statement!");
ifx_free_result($query_id);

// retrieving BLOB
$query_id = @ifx_query("select blob from blobtable", $conn_id) or
die("error executing sql statement!");
$row_id = @ifx_fetch_row($query_id) or die("error fetching row!");
$blob_id = @ifx_get_blob($row_id["blob"]) or die("error retrieving
blob!");
ifx_free_result($query_id);
ifx_close($conn_id);


Expected result:
----------------
The small piece of code will try to store a small text as blob in a
database table and retrieve it.

Actual result:
--------------
[Sat Jul 23 15:45:04 2005]  Script:  'ifx_blob_bug.php'
---------------------------------------
/usr/local/src/php-4.4.0/ext/informix/ifx.ec(3259) : Block 0x0977213C
status:
Beginning:      Overrun (magic=0x00000011, expected=0x7312F8DC)
      End:      Unknown



-- 
Edit bug report at http://bugs.php.net/?id=33837&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=33837&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=33837&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=33837&r=trysnapshot51
Fixed in CVS:                http://bugs.php.net/fix.php?id=33837&r=fixedcvs
Fixed in release:            http://bugs.php.net/fix.php?id=33837&r=alreadyfixed
Need backtrace:              http://bugs.php.net/fix.php?id=33837&r=needtrace
Need Reproduce Script:       http://bugs.php.net/fix.php?id=33837&r=needscript
Try newer version:           http://bugs.php.net/fix.php?id=33837&r=oldversion
Not developer issue:         http://bugs.php.net/fix.php?id=33837&r=support
Expected behavior:           http://bugs.php.net/fix.php?id=33837&r=notwrong
Not enough info:             
http://bugs.php.net/fix.php?id=33837&r=notenoughinfo
Submitted twice:             
http://bugs.php.net/fix.php?id=33837&r=submittedtwice
register_globals:            http://bugs.php.net/fix.php?id=33837&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=33837&r=php3
Daylight Savings:            http://bugs.php.net/fix.php?id=33837&r=dst
IIS Stability:               http://bugs.php.net/fix.php?id=33837&r=isapi
Install GNU Sed:             http://bugs.php.net/fix.php?id=33837&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=33837&r=float
No Zend Extensions:          http://bugs.php.net/fix.php?id=33837&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=33837&r=mysqlcfg

Reply via email to