ID:               43244
 Updated by:       [EMAIL PROTECTED]
 Reported By:      hp-php dot net at oeri dot ch
-Status:           Open
+Status:           Closed
 Bug Type:         PDO related
 Operating System: Linux 2.6
 PHP Version:      5.3CVS-2007-11-11 (CVS)
 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.

Now repeated calls to closecursor() won't cause a crash.

Fixed in PHP_5_3


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

[2007-11-11 12:54:30] hp-php dot net at oeri dot ch

Description:
------------
In pdo_firebird from CVS, calling PDOStatement->closeCursor on an
executed statement that did *NOT* return any data kills the process.

Reproduce code:
---------------
<?php
        $pdo = new PDO( 'firebird:dbname=localhost:devel', 'devel', 'devel'
);
        
        // VARIANT A: SECONDARY DATA
        $stmt = $pdo->prepare( 'UPDATE "a_data" SET "data"=200 RETURNING "a"'
);
        $stmt->execute();
        
        // the following statement works fine
        $stmt->closeCursor();
        echo "I survived variant 'A'\n";
        
        // VARIANT B: REALLY NO DATA
        $stmt = $pdo->prepare( 'UPDATE "a_data" SET "data"=200' );
        $stmt->execute();
        
        // the following statement kills the process
        $stmt->closeCursor();
        echo "I don't survive upto here...\n";
?>

Expected result:
----------------
I survived variant 'A'
I don't survive upto here...

(Both statements executed an closeCursor called twice)

Actual result:
--------------
I survived variant 'A'

(Variant 'B' - the non-data statement - kills the process before echo.)


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


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

Reply via email to