[PHP-CVS] cvs: php-src(PHP_4_4) /ext/pgsql pgsql.c
tony2001Thu Jan 11 16:47:32 2007 UTC Modified files: (Branch: PHP_4_4) /php-src/ext/pgsql pgsql.c Log: MFH http://cvs.php.net/viewvc.cgi/php-src/ext/pgsql/pgsql.c?r1=1.244.2.40.2.6&r2=1.244.2.40.2.7&diff_format=u Index: php-src/ext/pgsql/pgsql.c diff -u php-src/ext/pgsql/pgsql.c:1.244.2.40.2.6 php-src/ext/pgsql/pgsql.c:1.244.2.40.2.7 --- php-src/ext/pgsql/pgsql.c:1.244.2.40.2.6Mon Jan 1 09:46:46 2007 +++ php-src/ext/pgsql/pgsql.c Thu Jan 11 16:47:32 2007 @@ -19,7 +19,7 @@ +--+ */ -/* $Id: pgsql.c,v 1.244.2.40.2.6 2007/01/01 09:46:46 sebastian Exp $ */ +/* $Id: pgsql.c,v 1.244.2.40.2.7 2007/01/11 16:47:32 tony2001 Exp $ */ #include @@ -216,7 +216,7 @@ static int le_link, le_plink, le_result, le_lofp, le_string; -ZEND_DECLARE_MODULE_GLOBALS(pgsql); +ZEND_DECLARE_MODULE_GLOBALS(pgsql) /* {{{ _php_pgsql_trim_message */ static char * _php_pgsql_trim_message(const char *message, int *len) @@ -2658,10 +2658,11 @@ zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(pg_rows), &pos); while (zend_hash_get_current_data_ex(Z_ARRVAL_P(pg_rows), (void **) &tmp, &pos) == SUCCESS) { convert_to_string_ex(tmp); - query = (char *)emalloc(Z_STRLEN_PP(tmp) +2); - strcpy(query, Z_STRVAL_PP(tmp)); - if(*(query+Z_STRLEN_PP(tmp)-1) != '\n') - strcat(query, "\n"); + query = (char *)emalloc(Z_STRLEN_PP(tmp) + 2); + strlcpy(query, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp) + 2); + if(Z_STRLEN_PP(tmp) > 0 && *(query + Z_STRLEN_PP(tmp) - 1) != '\n') { + strlcat(query, "\n", Z_STRLEN_PP(tmp) + 2); + } if (PQputline(pgsql, query)) { efree(query); PHP_PQ_ERROR("copy failed: %s", pgsql); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_4_4) /ext/pgsql pgsql.c
iliaa Thu Dec 28 15:21:41 2006 UTC Modified files: (Branch: PHP_4_4) /php-src/ext/pgsql pgsql.c Log: MFH: Added buffer length checks http://cvs.php.net/viewvc.cgi/php-src/ext/pgsql/pgsql.c?r1=1.244.2.40.2.3&r2=1.244.2.40.2.4&diff_format=u Index: php-src/ext/pgsql/pgsql.c diff -u php-src/ext/pgsql/pgsql.c:1.244.2.40.2.3 php-src/ext/pgsql/pgsql.c:1.244.2.40.2.4 --- php-src/ext/pgsql/pgsql.c:1.244.2.40.2.3Sun Jan 1 13:46:56 2006 +++ php-src/ext/pgsql/pgsql.c Thu Dec 28 15:21:41 2006 @@ -19,7 +19,7 @@ +--+ */ -/* $Id: pgsql.c,v 1.244.2.40.2.3 2006/01/01 13:46:56 sniper Exp $ */ +/* $Id: pgsql.c,v 1.244.2.40.2.4 2006/12/28 15:21:41 iliaa Exp $ */ #include @@ -4285,7 +4285,7 @@ smart_str_append_long(querystr, Z_LVAL_PP(val)); break; case IS_DOUBLE: - smart_str_appendl(querystr, buf, sprintf(buf, "%f", Z_DVAL_PP(val))); + smart_str_appendl(querystr, buf, MIN(snprintf(buf, sizeof(buf), "%f", Z_DVAL_PP(val)), sizeof(buf)-1)); break; default: /* should not happen */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_4_4) /ext/pgsql pgsql.c /ext/pgsql/tests 80_bug32223b.phpt
helly Mon Nov 7 08:01:37 2005 EDT Added files: (Branch: PHP_4_4) /php-src/ext/pgsql/tests80_bug32223b.phpt Modified files: /php-src/ext/pgsql pgsql.c Log: - MFH Fix Bug #32223 weird behaviour of pg_last_notice http://cvs.php.net/diff.php/php-src/ext/pgsql/pgsql.c?r1=1.244.2.40.2.1&r2=1.244.2.40.2.2&ty=u Index: php-src/ext/pgsql/pgsql.c diff -u php-src/ext/pgsql/pgsql.c:1.244.2.40.2.1 php-src/ext/pgsql/pgsql.c:1.244.2.40.2.2 --- php-src/ext/pgsql/pgsql.c:1.244.2.40.2.1Tue Jul 5 08:50:03 2005 +++ php-src/ext/pgsql/pgsql.c Mon Nov 7 08:01:36 2005 @@ -19,7 +19,7 @@ +--+ */ -/* $Id: pgsql.c,v 1.244.2.40.2.1 2005/07/05 12:50:03 derick Exp $ */ +/* $Id: pgsql.c,v 1.244.2.40.2.2 2005/11/07 13:01:36 helly Exp $ */ #include @@ -310,7 +310,7 @@ if (PGG(log_notices)) { php_error_docref(NULL TSRMLS_CC, E_NOTICE, "%s", notice->message); } - zend_hash_index_update(&PGG(notices), *(int *)resource_id, (void **)¬ice, sizeof(php_pgsql_notice *), NULL); + zend_hash_index_update(&PGG(notices), (int)resource_id, (void **)¬ice, sizeof(php_pgsql_notice *), NULL); } } /* }}} */ @@ -694,7 +694,7 @@ } /* set notice processer */ if (! PGG(ignore_notices) && Z_TYPE_P(return_value) == IS_RESOURCE) { - PQsetNoticeProcessor(pgsql, _php_pgsql_notice_handler, (void *)&Z_RESVAL_P(return_value)); + PQsetNoticeProcessor(pgsql, _php_pgsql_notice_handler, (void *)Z_RESVAL_P(return_value)); } php_pgsql_set_default_link(Z_LVAL_P(return_value) TSRMLS_CC); http://cvs.php.net/co.php/php-src/ext/pgsql/tests/80_bug32223b.phpt?r=1.1&p=1 Index: php-src/ext/pgsql/tests/80_bug32223b.phpt +++ php-src/ext/pgsql/tests/80_bug32223b.phpt --TEST-- Bug #32223 (weird behaviour of pg_last_notice using define) --SKIPIF-- --FILE-- ===DONE=== --EXPECTF-- array(1) { [0]=> string(1) "f" } string(14) "NOTICE: 1" ===DONE=== -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php