ID: 34203 Updated by: [EMAIL PROTECTED] Reported By: stotty at tvnet dot hu -Status: Assigned +Status: Closed Bug Type: PDO related Operating System: Linux Fedora Core 4 PHP Version: 5.1.0RC1 Assigned To: wez New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2005-08-21 10:33:25] stotty at tvnet dot hu Description: ------------ If a prepared query with named parameters has one of the paramteres used more than once, then PHP fails with a realloc failure, without giving any useable error message. This bug triggers only if called from within a class member function Reproduce code: --------------- <?php $dsn='pgsql:dbname=xenophile host=localhost port=5432 user=stoty'; $dbc= new PDO($dsn); $dbc->setAttribute(PDO_ATTR_ERRMODE, PDO_ERRMODE_EXCEPTION); class Crashme { public function crashfunction($one, $two) { global $dbc; $weight_check_stmt=$dbc->prepare(" select (select total_cpu_weight from domain0 where id= :domain0_id) - (select cpu_weight from domain_template where id= :template_id) - sum(cpu_weight) as result from domain where domain0_id = :domain0_id"); $weight_check_stmt->bindParam(":domain0_id", $one); $weight_check_stmt->bindParam(":template_id", $two); $weight_check_stmt->execute(); } } $crashclass = new Crashme; $crashclass->crashfunction(1,2); ?> Expected result: ---------------- I exepected to get a meaningfull error message, describing the problem, like I get when the above query is not run from a member function) (like in bug 33886) Actual result: -------------- I get this in the http error log: FATAL: erealloc(): Unable to allocate 4 bytes ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34203&edit=1
