ID:               35604
 Updated by:       [EMAIL PROTECTED]
 Reported By:      smlerman at gmail dot com
-Status:           Open
+Status:           Feedback
 Bug Type:         PDO related
 Operating System: Linux
 PHP Version:      5.1.1
 New Comment:

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.




Previous Comments:
------------------------------------------------------------------------

[2005-12-09 17:53:52] smlerman at gmail dot com

Tried the same code on my Linux box at home (Fedora Core 2, first test
server I believe is Fedora 4), and it just gives a segmentation fault
instead. Tried the php5.1-200512091530 snapshot, and I get the same
results.

------------------------------------------------------------------------

[2005-12-08 19:16:57] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5.1-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.1-win32-latest.zip



------------------------------------------------------------------------

[2005-12-08 19:08:57] smlerman at gmail dot com

Description:
------------
PHP crashes on the following code. Changing the second named marker
from :foo1 to :foo2 fixes the crash, which made me think it had to do
with duplicate names. However, removing the where clause (leaving both
name markers :foo1) also eliminates the crash, though the statement
gets an error code of "HY093" (no full message).

Reproduce code:
---------------
<?php
$db = new PDO("pgsql:host=localhost dbname=name user=user
password=password");
$stmt = $db->prepare("UPDATE test SET foo1 = :foo1, foo2 = :foo1 WHERE
foo1 = :id");
$stmt->bindParam(':foo1', $foo1);
$stmt->bindParam(':foo2', $foo2);
$stmt->bindParam(':id', $id);
$foo1 = "foo";
$foo2 = "foo";
$id = "foo";
var_dump($stmt->errorInfo());
$stmt->execute();
?>

Expected result:
----------------
An error message of some kind if duplicate names aren't allowed, but
certainly not a memory dump.

Actual result:
--------------
*** glibc detected *** php: free(): invalid next size (fast):
0x09980018 ***
Followed by a backtrace and memory dump


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=35604&edit=1

Reply via email to