diff options
-rw-r--r-- | ext/pdo_pgsql/pgsql_driver.c | 3 | ||||
-rw-r--r-- | ext/pdo_pgsql/pgsql_statement.c | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c index 7b1561506a..ed28052d2c 100644 --- a/ext/pdo_pgsql/pgsql_driver.c +++ b/ext/pdo_pgsql/pgsql_driver.c @@ -229,6 +229,9 @@ static int pgsql_handle_preparer(pdo_dbh_t *dbh, const char *sql, long sql_len, PDO_CURSOR_FWDONLY TSRMLS_CC) == PDO_CURSOR_SCROLL; if (scrollable) { + if (S->cursor_name) { + efree(S->cursor_name); + } /* TODO: check how scrollable cursors related to prepared statements */ spprintf(&S->cursor_name, 0, "pdo_pgsql_cursor_%08x", (unsigned int) stmt); } diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c index d83b86ad78..d4c12cef2a 100644 --- a/ext/pdo_pgsql/pgsql_statement.c +++ b/ext/pdo_pgsql/pgsql_statement.c @@ -341,6 +341,7 @@ static int pgsql_stmt_fetch(pdo_stmt_t *stmt, spprintf(&q, 0, "FETCH %s %ld FROM %s", ori_str, offset, S->cursor_name); S->result = PQexec(S->H->server, q); + efree(q); status = PQresultStatus(S->result); if (status != PGRES_COMMAND_OK && status != PGRES_TUPLES_OK) { |