ID: 34203 Updated by: [EMAIL PROTECTED] Reported By: stotty at tvnet dot hu -Status: Open +Status: Assigned Bug Type: PDO related Operating System: Linux Fedora Core 4 PHP Version: 5.1.0RC1 -Assigned To: +Assigned To: wez
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