diff options
-rw-r--r-- | ext/pdo_pgsql/pgsql_driver.c | 2 | ||||
-rw-r--r-- | ext/pdo_pgsql/pgsql_statement.c | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c index 67042c5e05..65fb948675 100644 --- a/ext/pdo_pgsql/pgsql_driver.c +++ b/ext/pdo_pgsql/pgsql_driver.c @@ -248,7 +248,7 @@ static int pgsql_handle_preparer(pdo_dbh_t *dbh, const char *sql, long sql_len, /* that's all for now; we'll defer the actual prepare until the first execute call */ if (nsql) { - S->query = estrdup(nsql); + S->query = nsql; } else { S->query = estrdup(sql); } diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c index 4e771ea5a4..aaf3664b6b 100644 --- a/ext/pdo_pgsql/pgsql_statement.c +++ b/ext/pdo_pgsql/pgsql_statement.c @@ -76,6 +76,10 @@ static int pgsql_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC) efree(S->param_formats); S->param_formats = NULL; } + if (S->param_types) { + efree(S->param_types); + S->param_types = NULL; + } if (S->query) { efree(S->query); S->query = NULL; |