summaryrefslogtreecommitdiff
path: root/ext/pdo_pgsql/pgsql_statement.c
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2018-07-30 18:29:40 +0200
committerAnatol Belski <ab@php.net>2018-07-30 18:29:40 +0200
commit093cb1d7c63fd2f0fa7b573e55067b82c44e927e (patch)
treeba900b3913d0936c2b75323f83b8466d87c65bcd /ext/pdo_pgsql/pgsql_statement.c
parent5674cf888d6d3dc11cbf4d164ac3f111a6841572 (diff)
parentd207d6a57f17a6562e05ce954079341f353c6660 (diff)
downloadphp-git-093cb1d7c63fd2f0fa7b573e55067b82c44e927e.tar.gz
Merge branch 'PHP-7.2'
* PHP-7.2: Fixed bug #75402 Possible Memory Leak using PDO::CURSOR_SCROLL option
Diffstat (limited to 'ext/pdo_pgsql/pgsql_statement.c')
-rw-r--r--ext/pdo_pgsql/pgsql_statement.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c
index bca3a70816..86cb084a1d 100644
--- a/ext/pdo_pgsql/pgsql_statement.c
+++ b/ext/pdo_pgsql/pgsql_statement.c
@@ -163,6 +163,7 @@ static int pgsql_stmt_execute(pdo_stmt_t *stmt)
pdo_pgsql_error_stmt(stmt, status, pdo_pgsql_sqlstate(S->result));
return 0;
}
+ PQclear(S->result);
/* the cursor was declared correctly */
S->is_prepared = 1;
@@ -432,6 +433,11 @@ static int pgsql_stmt_fetch(pdo_stmt_t *stmt,
return 0;
}
+ if(S->result) {
+ PQclear(S->result);
+ S->result = NULL;
+ }
+
spprintf(&q, 0, "FETCH %s FROM %s", ori_str, S->cursor_name);
efree(ori_str);
S->result = PQexec(S->H->server, q);