svn: /php/php-src/ branches/PHP_5_2/NEWS branches/PHP_5_2/ext/pgsql/pgsql.c branches/PHP_5_3/NEWS branches/PHP_5_3/ext/pgsql/pgsql.c
trunk/ext/pgsql/pgsql.c
| From: | Felipe Pena | Date: | Tue, 20 Apr 2010 14:11:53 +0000 |
| Subject: | svn: /php/php-src/ branches/PHP_5_2/NEWS branches/PHP_5_2/ext/pgsql/pgsql.c branches/PHP_5_3/NEWS branches/PHP_5_3/ext/pgsql/pgsql.c trunk/ext/pgsql/pgsql.c |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-62299@lists.php.net to get a copy of this message | ||
felipe Tue, 20 Apr 2010 14:11:53 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=298218
Log:
- Fixed bug #51609 (pg_copy_to: Invalid results when using fourth parameter)
Bug: http://bugs.php.net/51609 (Open) pg_copy_to: Invalid
results when using fourth parameter
Changed paths:
U php/php-src/branches/PHP_5_2/NEWS
U php/php-src/branches/PHP_5_2/ext/pgsql/pgsql.c
U php/php-src/branches/PHP_5_3/NEWS
U php/php-src/branches/PHP_5_3/ext/pgsql/pgsql.c
U php/php-src/trunk/ext/pgsql/pgsql.c
Modified: php/php-src/branches/PHP_5_2/NEWS
===================================================================
--- php/php-src/branches/PHP_5_2/NEWS 2010-04-20 13:50:34 UTC (rev 298217)
+++ php/php-src/branches/PHP_5_2/NEWS 2010-04-20 14:11:53 UTC (rev 298218)
@@ -12,6 +12,8 @@
- Fixed a NULL pointer dereference when processing invalid XML-RPC
requests (Fixes CVE-2010-0397, bug #51288). (Raphael Geissert)
+- 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 #51445 (var_dump() invalid/slow *RECURSION* detection). (Felipe)
Modified: php/php-src/branches/PHP_5_2/ext/pgsql/pgsql.c
===================================================================
--- php/php-src/branches/PHP_5_2/ext/pgsql/pgsql.c 2010-04-20 13:50:34 UTC (rev 298217)
+++ php/php-src/branches/PHP_5_2/ext/pgsql/pgsql.c 2010-04-20 14:11:53 UTC (rev 298218)
@@ -3312,7 +3312,7 @@
{
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;
@@ -3339,6 +3339,7 @@
if (!pg_null_as) {
pg_null_as = safe_estrdup("\\\\N");
+ free_pg_null = 1;
}
if (memchr(table_name, '.', table_name_len)) {
@@ -3351,7 +3352,9 @@
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) {
Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS 2010-04-20 13:50:34 UTC (rev 298217)
+++ php/php-src/branches/PHP_5_3/NEWS 2010-04-20 14:11:53 UTC (rev 298218)
@@ -18,6 +18,8 @@
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)
Modified: php/php-src/branches/PHP_5_3/ext/pgsql/pgsql.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/pgsql/pgsql.c 2010-04-20 13:50:34 UTC (rev 298217)
+++ php/php-src/branches/PHP_5_3/ext/pgsql/pgsql.c 2010-04-20 14:11:53 UTC (rev 298218)
@@ -3735,7 +3735,7 @@
{
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 @@
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 @@
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) {
Modified: php/php-src/trunk/ext/pgsql/pgsql.c
===================================================================
--- php/php-src/trunk/ext/pgsql/pgsql.c 2010-04-20 13:50:34 UTC (rev 298217)
+++ php/php-src/trunk/ext/pgsql/pgsql.c 2010-04-20 14:11:53 UTC (rev 298218)
@@ -3735,7 +3735,7 @@
{
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 @@
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 @@
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) {