- Fixed bug #51609 (pg_copy_to: Invalid results when using fourth parameter)

This commit is contained in:
Felipe Pena 2010-04-20 14:11:53 +00:00
parent a175419f84
commit 5aedea7179
2 changed files with 7 additions and 2 deletions

2
NEWS
View File

@ -18,6 +18,8 @@ PHP NEWS
requests (Fixes CVE-2010-0397, bug #51288). (Raphael Geissert)
- Fixed 64-bit integer overflow in mhash_keygen_s2k(). (Clément LECIGNE, Stas)
- Fixed bug #51609 (pg_copy_to: Invalid results when using fourth parameter).
(Felipe)
- Fixed bug #51608 (pg_copy_to: WARNING: nonstandard use of \\ in a string
literal). (cbandy at jbandy dot com)
- Fixed bug #51590 (JSON_ERROR_UTF8 is undefined). (Felipe)

View File

@ -3735,7 +3735,7 @@ PHP_FUNCTION(pg_copy_to)
{
zval *pgsql_link;
char *table_name, *pg_delim = NULL, *pg_null_as = NULL;
int table_name_len, pg_delim_len, pg_null_as_len;
int table_name_len, pg_delim_len, pg_null_as_len, free_pg_null = 0;
char *query;
int id = -1;
PGconn *pgsql;
@ -3762,6 +3762,7 @@ PHP_FUNCTION(pg_copy_to)
if (!pg_null_as) {
pg_null_as = safe_estrdup("\\\\N");
free_pg_null = 1;
}
if (memchr(table_name, '.', table_name_len)) {
@ -3774,7 +3775,9 @@ PHP_FUNCTION(pg_copy_to)
PQclear(pgsql_result);
}
pgsql_result = PQexec(pgsql, query);
efree(pg_null_as);
if (free_pg_null) {
efree(pg_null_as);
}
efree(query);
if (pgsql_result) {