iliaa Mon Nov 13 22:11:02 2006 UTC
Modified files:
/php-src/ext/pgsql pgsql.c
Log:
MFB: Fixed bug #36812 (pg_execute() modifies input array).
http://cvs.php.net/viewvc.cgi/php-src/ext/pgsql/pgsql.c?r1=1.358&r2=1.359&diff_format=u
Index: php-src/ext/pgsql/pgsql.c
diff -u php-src/ext/pgsql/pgsql.c:1.358 php-src/ext/pgsql/pgsql.c:1.359
--- php-src/ext/pgsql/pgsql.c:1.358 Fri Oct 6 21:45:35 2006
+++ php-src/ext/pgsql/pgsql.c Mon Nov 13 22:11:02 2006
@@ -20,7 +20,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: pgsql.c,v 1.358 2006/10/06 21:45:35 iliaa Exp $ */
+/* $Id: pgsql.c,v 1.359 2006/11/13 22:11:02 iliaa Exp $ */
#include <stdlib.h>
@@ -1472,6 +1472,7 @@
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Found results on
this connection. Use pg_get_result() to get these results first");
}
+ SEPARATE_ZVAL(pv_param_arr);
zend_hash_internal_pointer_reset(Z_ARRVAL_PP(pv_param_arr));
num_params = zend_hash_num_elements(Z_ARRVAL_PP(pv_param_arr));
if (num_params > 0) {
@@ -1486,7 +1487,8 @@
}
otype = (*tmp)->type;
- convert_to_string(*tmp);
+ SEPARATE_ZVAL(tmp);
+ convert_to_string_ex(tmp);
if (Z_TYPE_PP(tmp) != IS_STRING) {
php_error_docref(NULL TSRMLS_CC,
E_WARNING,"Error converting parameter");
_php_pgsql_free_params(params, num_params);
@@ -1495,8 +1497,7 @@
if (otype == IS_NULL) {
params[i] = NULL;
- }
- else {
+ } else {
params[i] = Z_STRVAL_PP(tmp);
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php