com php-src: Fixed bug #70313 PDO statement fails to throw exception: NEWS ext/pdo_pgsql/pgsql_statement.c ext/pdo_pgsql/tests/b ug70313.phpt

From: Date: Sun, 10 Jul 2016 12:33:56 +0000
Subject: com php-src: Fixed bug #70313 PDO statement fails to throw exception: NEWS ext/pdo_pgsql/pgsql_statement.c ext/pdo_pgsql/tests/b ug70313.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-92897@lists.php.net to get a copy of this message
Commit: 219ebcb68984a0af524336b165a849781ee65758 Author: Matteo Beccati <mbeccati@php.net> Sun, 10 Jul 2016 13:04:49 +0200 Parents: 51d19891a418754df6e1a8f7c7312e6bc20ac449 Branches: PHP-5.6 PHP-7.0 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=219ebcb68984a0af524336b165a849781ee65758 Log: Fixed bug #70313 PDO statement fails to throw exception Bugs: https://bugs.php.net/70313 Changed paths: M NEWS M ext/pdo_pgsql/pgsql_statement.c A ext/pdo_pgsql/tests/bug70313.phpt Diff: diff --git a/NEWS b/NEWS index 1fcf2ee..282f20d 100644 --- a/NEWS +++ b/NEWS @@ -9,10 +9,13 @@ PHP NEWS . Fixed bug #71144 (Segmentation fault when using cURL with ZTS). (maroszek at gmx dot net) -- Filter +- Filter: . Fixed bug #71745 (FILTER_FLAG_NO_RES_RANGE does not cover whole 127.0.0.0/8 range). (bugs dot php dot net at majkl578 dot cz) +- PDO_pgsql: + . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo) + 21 Jul 2016, PHP 5.6.24 - Core: diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c index ff34e48..a6e6405 100644 --- a/ext/pdo_pgsql/pgsql_statement.c +++ b/ext/pdo_pgsql/pgsql_statement.c @@ -280,7 +280,7 @@ static int pgsql_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_data * case PDO_PARAM_EVT_EXEC_PRE: if (!stmt->bound_param_map) { - return 0; + return 1; } if (!S->param_values) { S->param_values = ecalloc( diff --git a/ext/pdo_pgsql/tests/bug70313.phpt b/ext/pdo_pgsql/tests/bug70313.phpt new file mode 100644 index 0000000..14c3b7b --- /dev/null +++ b/ext/pdo_pgsql/tests/bug70313.phpt @@ -0,0 +1,37 @@ +--TEST-- +PDO PgSQL Bug #70313 (PDO statement fails to throw exception) +--SKIPIF-- +<?php +if (!extension_loaded('pdo') || !extension_loaded('pdo_pgsql')) die('skip not loaded'); +require dirname(__FILE__) . '/config.inc'; +require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc'; +PDOTest::skip(); +?> +--FILE-- +<?php +require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc'; +$db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt'); +$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + +$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); +try { + $stmt = $db->prepare(");"); + + $stmt->execute([1]); +} catch (PDOException $e) { + var_dump($e->getCode()); +} + +$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, true); +try { + $stmt = $db->prepare(");"); + + $stmt->execute([1]); +} catch (PDOException $e) { + var_dump($e->getCode()); +} + +?> +--EXPECT-- +string(5) "42601" +string(5) "42601"

« previous php.cvs (#92897) next »