#35604 [Opn->Fbk]: PDO crash

From: Date: Fri, 09 Dec 2005 17:03:47 +0000
Subject: #35604 [Opn->Fbk]: PDO crash
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-90174@lists.php.net to get a copy of this message
 ID:               35604
 Updated by:       tony2001@php.net
 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] iliaa@php.net

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


Thread (15 messages)

« previous php.bugs (#90174) next »