summaryrefslogtreecommitdiff
path: root/ext/pdo_pgsql
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2016-08-09 11:25:32 +0800
committerXinchen Hui <laruence@gmail.com>2016-08-09 11:25:32 +0800
commitebd21de1e4d5321fb979e9ba22de623d9e24ae29 (patch)
tree1d618914cb7314ae9ae6d28632aa5a4c79c58fb2 /ext/pdo_pgsql
parent5358c7cf5eda4a4c72e232e22c2f8179f0e8007d (diff)
parenta74c7cb528c47726ee998a514986663a9c6835e5 (diff)
downloadphp-git-ebd21de1e4d5321fb979e9ba22de623d9e24ae29.tar.gz
Merge branch 'bug72788' of https://github.com/keyurdg/php-src into PHP-7.0
* 'bug72788' of https://github.com/keyurdg/php-src: Remove typo'd commit Fix bug 72788: Invalid memory access when database_object_handle is undefined. Also fix memory leak in dbh_free when using persistent PDO connections.
Diffstat (limited to 'ext/pdo_pgsql')
-rw-r--r--ext/pdo_pgsql/pgsql_statement.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c
index a5ee2e993e..f7c46a6706 100644
--- a/ext/pdo_pgsql/pgsql_statement.c
+++ b/ext/pdo_pgsql/pgsql_statement.c
@@ -61,7 +61,8 @@
static int pgsql_stmt_dtor(pdo_stmt_t *stmt)
{
pdo_pgsql_stmt *S = (pdo_pgsql_stmt*)stmt->driver_data;
- zend_bool server_obj_usable = IS_OBJ_VALID(EG(objects_store).object_buckets[Z_OBJ_HANDLE(stmt->database_object_handle)])
+ zend_bool server_obj_usable = !Z_ISUNDEF(stmt->database_object_handle)
+ && IS_OBJ_VALID(EG(objects_store).object_buckets[Z_OBJ_HANDLE(stmt->database_object_handle)])
&& !(GC_FLAGS(Z_OBJ(stmt->database_object_handle)) & IS_OBJ_FREE_CALLED);
if (S->result) {