From: cryo28 at rbcmail dot ru Operating system: Win2000 and Linux PHP version: 4.3.2 PHP Bug Type: InterBase related Bug description: ibase_blob_get overflow
Description: ------------ Bug was reproduced on Windows 2000 + PHP 4.3.1 + Firebird 1.0(W2K) and on RedHat Linux 9.0 + PHP 4.3.2 + Firebird 1.5 RC3(Linux). If BLOB size > 64K actual size of data returned by ibase_blob_get equals to Actual Size minus 64K. Reproduce code: --------------- while ($res = fetchRow($q)) { $val = $res->BLOBDATA; $blobinfo = ibase_blob_info($val); $blobhndl = ibase_blob_open($val); $image = ibase_blob_get($blobhndl, blobinfo[0]); echo $blobinfo[0]."\n"; echo strlen($image)."\n"; ibase_blob_close($blobhndl); } Expected result: ---------------- Above script produces, for example, 50000 50000 if BLOBDATA size 50000.[OK]. But if BLOBDATA size more than 65535 bytes script producing something like this: 65978 442 i.e. 442=65978-65536. ibase_blob_echo($VAL) works right. -- Edit bug report at http://bugs.php.net/?id=24224&edit=1 -- Try a CVS snapshot: http://bugs.php.net/fix.php?id=24224&r=trysnapshot Fixed in CVS: http://bugs.php.net/fix.php?id=24224&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=24224&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=24224&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=24224&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=24224&r=support Expected behavior: http://bugs.php.net/fix.php?id=24224&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=24224&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=24224&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=24224&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=24224&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=24224&r=dst IIS Stability: http://bugs.php.net/fix.php?id=24224&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=24224&r=gnused