[PHP-CVS] cvs: php-src(PHP_5_2) /ext/mysqli mysqli_api.c
scottmacTue Jun 9 01:00:47 2009 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/mysqli mysqli_api.c Log: MFH #46019 - Memory leak when Mysqli::init() is called multiple times. http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_api.c?r1=1.118.2.22.2.22r2=1.118.2.22.2.23diff_format=u Index: php-src/ext/mysqli/mysqli_api.c diff -u php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.22 php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.23 --- php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.22 Wed Dec 31 11:17:40 2008 +++ php-src/ext/mysqli/mysqli_api.c Tue Jun 9 01:00:47 2009 @@ -15,7 +15,7 @@ | Author: Georg Richter ge...@php.net| +--+ - $Id: mysqli_api.c,v 1.118.2.22.2.22 2008/12/31 11:17:40 sebastian Exp $ + $Id: mysqli_api.c,v 1.118.2.22.2.23 2009/06/09 01:00:47 scottmac Exp $ */ #ifdef HAVE_CONFIG_H @@ -1099,7 +1099,13 @@ PHP_FUNCTION(mysqli_init) { MYSQLI_RESOURCE *mysqli_resource; - MY_MYSQL *mysql = (MY_MYSQL *)ecalloc(1, sizeof(MY_MYSQL)); + MY_MYSQL *mysql; + + if (getThis() ((mysqli_object *) zend_object_store_get_object(getThis() TSRMLS_CC))-ptr) { + return; + } + + mysql = (MY_MYSQL *)ecalloc(1, sizeof(MY_MYSQL)); if (!(mysql-mysql = mysql_init(NULL))) { efree(mysql); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/mysqli mysqli_api.c mysqli_nonapi.c
andrey Mon Oct 27 14:36:02 2008 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/mysqli mysqli_api.c mysqli_nonapi.c Log: MFH: Fix an issue with mysql.default_port not being used http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_api.c?r1=1.118.2.22.2.20r2=1.118.2.22.2.21diff_format=u Index: php-src/ext/mysqli/mysqli_api.c diff -u php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.20 php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.21 --- php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.20 Tue Jan 1 16:51:09 2008 +++ php-src/ext/mysqli/mysqli_api.c Mon Oct 27 14:36:02 2008 @@ -15,7 +15,7 @@ | Author: Georg Richter [EMAIL PROTECTED]| +--+ - $Id: mysqli_api.c,v 1.118.2.22.2.20 2008/01/01 16:51:09 hholzgra Exp $ + $Id: mysqli_api.c,v 1.118.2.22.2.21 2008/10/27 14:36:02 andrey Exp $ */ #ifdef HAVE_CONFIG_H @@ -1425,14 +1425,20 @@ /* TODO: safe mode handling */ if (PG(sql_safe_mode)) { } else { + if (!socket_len || !socket) { + socket = MyG(default_socket); + } + if (!port) { + port = MyG(default_port); + } if (!passwd) { passwd = MyG(default_pw); - if (!username){ - username = MyG(default_user); - if (!hostname) { - hostname = MyG(default_host); - } - } + } + if (!username){ + username = MyG(default_user); + } + if (!hostname) { + hostname = MyG(default_host); } } http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_nonapi.c?r1=1.54.2.7.2.6r2=1.54.2.7.2.7diff_format=u Index: php-src/ext/mysqli/mysqli_nonapi.c diff -u php-src/ext/mysqli/mysqli_nonapi.c:1.54.2.7.2.6 php-src/ext/mysqli/mysqli_nonapi.c:1.54.2.7.2.7 --- php-src/ext/mysqli/mysqli_nonapi.c:1.54.2.7.2.6 Mon Dec 31 07:20:08 2007 +++ php-src/ext/mysqli/mysqli_nonapi.c Mon Oct 27 14:36:02 2008 @@ -15,7 +15,7 @@ | Author: Georg Richter [EMAIL PROTECTED]| +--+ - $Id: mysqli_nonapi.c,v 1.54.2.7.2.6 2007/12/31 07:20:08 sebastian Exp $ + $Id: mysqli_nonapi.c,v 1.54.2.7.2.7 2008/10/27 14:36:02 andrey Exp $ */ #ifdef HAVE_CONFIG_H @@ -56,14 +56,20 @@ /* TODO: safe mode handling */ if (PG(sql_safe_mode)){ } else { + if (!socket_len || !socket) { + socket = MyG(default_socket); + } + if (!port) { + port = MyG(default_port); + } if (!passwd) { passwd = MyG(default_pw); - if (!username){ - username = MyG(default_user); - if (!hostname) { - hostname = MyG(default_host); - } - } + } + if (!username){ + username = MyG(default_user); + } + if (!hostname) { + hostname = MyG(default_host); } } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/mysqli mysqli_api.c
andrey Tue Jul 24 09:22:16 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/mysqli mysqli_api.c Log: Fix build with latest 5.1 sources where gptr is no more. http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_api.c?r1=1.118.2.22.2.13r2=1.118.2.22.2.14diff_format=u Index: php-src/ext/mysqli/mysqli_api.c diff -u php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.13 php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.14 --- php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.13 Thu Jun 28 09:07:40 2007 +++ php-src/ext/mysqli/mysqli_api.c Tue Jul 24 09:22:16 2007 @@ -15,7 +15,7 @@ | Author: Georg Richter [EMAIL PROTECTED]| +--+ - $Id: mysqli_api.c,v 1.118.2.22.2.13 2007/06/28 09:07:40 andrey Exp $ + $Id: mysqli_api.c,v 1.118.2.22.2.14 2007/07/24 09:22:16 andrey Exp $ */ #ifdef HAVE_CONFIG_H @@ -141,13 +141,13 @@ switch (types[ofs]) { case 'd': /* Double */ bind[ofs].buffer_type = MYSQL_TYPE_DOUBLE; - bind[ofs].buffer = (gptr)Z_DVAL_PP(args[i]); + bind[ofs].buffer = (char*)Z_DVAL_PP(args[i]); bind[ofs].is_null = stmt-param.is_null[ofs]; break; case 'i': /* Integer */ bind[ofs].buffer_type = MYSQL_TYPE_LONG; - bind[ofs].buffer = (gptr)Z_LVAL_PP(args[i]); + bind[ofs].buffer = (char*)Z_LVAL_PP(args[i]); bind[ofs].is_null = stmt-param.is_null[ofs]; break; @@ -600,11 +600,11 @@ break; case MYSQL_TYPE_DOUBLE: convert_to_double_ex(stmt-param.vars[i]); - stmt-stmt-params[i].buffer = (gptr)Z_LVAL_PP(stmt-param.vars[i]); + stmt-stmt-params[i].buffer = (char*)Z_LVAL_PP(stmt-param.vars[i]); break; case MYSQL_TYPE_LONG: convert_to_long_ex(stmt-param.vars[i]); - stmt-stmt-params[i].buffer = (gptr)Z_LVAL_PP(stmt-param.vars[i]); + stmt-stmt-params[i].buffer = (char*)Z_LVAL_PP(stmt-param.vars[i]); break; default: break; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/mysqli mysqli_api.c
andrey Thu Jun 28 09:07:40 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/mysqli mysqli_api.c Log: Remove dot at the end of the message http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_api.c?r1=1.118.2.22.2.12r2=1.118.2.22.2.13diff_format=u Index: php-src/ext/mysqli/mysqli_api.c diff -u php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.12 php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.13 --- php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.12 Mon Jun 18 21:51:32 2007 +++ php-src/ext/mysqli/mysqli_api.c Thu Jun 28 09:07:40 2007 @@ -15,7 +15,7 @@ | Author: Georg Richter [EMAIL PROTECTED]| +--+ - $Id: mysqli_api.c,v 1.118.2.22.2.12 2007/06/18 21:51:32 stas Exp $ + $Id: mysqli_api.c,v 1.118.2.22.2.13 2007/06/28 09:07:40 andrey Exp $ */ #ifdef HAVE_CONFIG_H @@ -239,7 +239,7 @@ var_cnt = argc - start; if (var_cnt != mysql_stmt_field_count(stmt-stmt)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, Number of bind variables doesn't match number of fields in prepared statement.); + php_error_docref(NULL TSRMLS_CC, E_WARNING, Number of bind variables doesn't match number of fields in prepared statement); efree(args); RETURN_FALSE; } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/mysqli mysqli_api.c mysqli_nonapi.c
bjori Mon Oct 2 07:44:35 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/mysqli mysqli_api.c mysqli_nonapi.c Log: Fix protos http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_api.c?r1=1.118.2.22.2.7r2=1.118.2.22.2.8diff_format=u Index: php-src/ext/mysqli/mysqli_api.c diff -u php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.7 php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.8 --- php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.7 Fri Sep 29 08:40:10 2006 +++ php-src/ext/mysqli/mysqli_api.c Mon Oct 2 07:44:34 2006 @@ -15,7 +15,7 @@ | Author: Georg Richter [EMAIL PROTECTED]| +--+ - $Id: mysqli_api.c,v 1.118.2.22.2.7 2006/09/29 08:40:10 georg Exp $ + $Id: mysqli_api.c,v 1.118.2.22.2.8 2006/10/02 07:44:34 bjori Exp $ */ #ifdef HAVE_CONFIG_H @@ -1522,7 +1522,7 @@ } /* }}} */ -/* {{{ proto bool mysqli_send_long_data(object stmt, int param_nr, string data) +/* {{{ proto bool mysqli_stmt_send_long_data(object stmt, int param_nr, string data) */ PHP_FUNCTION(mysqli_stmt_send_long_data) { http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_nonapi.c?r1=1.54.2.7r2=1.54.2.7.2.1diff_format=u Index: php-src/ext/mysqli/mysqli_nonapi.c diff -u php-src/ext/mysqli/mysqli_nonapi.c:1.54.2.7 php-src/ext/mysqli/mysqli_nonapi.c:1.54.2.7.2.1 --- php-src/ext/mysqli/mysqli_nonapi.c:1.54.2.7 Fri Mar 24 09:32:24 2006 +++ php-src/ext/mysqli/mysqli_nonapi.c Mon Oct 2 07:44:34 2006 @@ -15,7 +15,7 @@ | Author: Georg Richter [EMAIL PROTECTED]| +--+ - $Id: mysqli_nonapi.c,v 1.54.2.7 2006/03/24 09:32:24 georg Exp $ + $Id: mysqli_nonapi.c,v 1.54.2.7.2.1 2006/10/02 07:44:34 bjori Exp $ */ #ifdef HAVE_CONFIG_H @@ -289,7 +289,7 @@ } /* }}} */ -/* {{{ proto object mysqli_get_warnings(object link) */ +/* {{{ proto object mysqli_stmt_get_warnings(object link) */ PHP_FUNCTION(mysqli_stmt_get_warnings) { MY_STMT *stmt; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/mysqli mysqli_api.c
georg Fri Sep 29 08:40:10 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/mysqli mysqli_api.c Log: MFH: fixed error message http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_api.c?r1=1.118.2.22.2.6r2=1.118.2.22.2.7diff_format=u Index: php-src/ext/mysqli/mysqli_api.c diff -u php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.6 php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.7 --- php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.6 Fri Aug 4 22:13:59 2006 +++ php-src/ext/mysqli/mysqli_api.c Fri Sep 29 08:40:10 2006 @@ -15,7 +15,7 @@ | Author: Georg Richter [EMAIL PROTECTED]| +--+ - $Id: mysqli_api.c,v 1.118.2.22.2.6 2006/08/04 22:13:59 iliaa Exp $ + $Id: mysqli_api.c,v 1.118.2.22.2.7 2006/09/29 08:40:10 georg Exp $ */ #ifdef HAVE_CONFIG_H @@ -942,7 +942,7 @@ MYSQLI_FETCH_RESOURCE(result, MYSQL_RES *, mysql_result, mysqli_result, MYSQLI_STATUS_VALID); if (fieldnr 0 || fieldnr = mysql_num_fields(result)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, Function cannot be used with MYSQL_USE_RESULT); + php_error_docref(NULL TSRMLS_CC, E_WARNING, Invalid field offset); RETURN_FALSE; } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/mysqli mysqli_api.c
iliaa Fri Aug 4 22:13:59 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/mysqli mysqli_api.c Log: Improved fix for bug #37671 http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_api.c?r1=1.118.2.22.2.5r2=1.118.2.22.2.6diff_format=u Index: php-src/ext/mysqli/mysqli_api.c diff -u php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.5 php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.6 --- php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.5 Wed Jul 12 09:51:46 2006 +++ php-src/ext/mysqli/mysqli_api.c Fri Aug 4 22:13:59 2006 @@ -15,7 +15,7 @@ | Author: Georg Richter [EMAIL PROTECTED]| +--+ - $Id: mysqli_api.c,v 1.118.2.22.2.5 2006/07/12 09:51:46 tony2001 Exp $ + $Id: mysqli_api.c,v 1.118.2.22.2.6 2006/08/04 22:13:59 iliaa Exp $ */ #ifdef HAVE_CONFIG_H @@ -294,9 +294,6 @@ case MYSQL_TYPE_LONG: case MYSQL_TYPE_INT24: case MYSQL_TYPE_YEAR: -#if MYSQL_VERSION_ID 50002 - case MYSQL_TYPE_BIT: -#endif convert_to_long_ex(args[i]); stmt-result.buf[ofs].type = IS_LONG; /* don't set stmt-result.buf[ofs].buflen to 0, we used ecalloc */ @@ -308,10 +305,13 @@ break; case MYSQL_TYPE_LONGLONG: +#if MYSQL_VERSION_ID 50002 + case MYSQL_TYPE_BIT: +#endif stmt-result.buf[ofs].type = IS_STRING; stmt-result.buf[ofs].buflen = sizeof(my_ulonglong); stmt-result.buf[ofs].val = (char *)emalloc(stmt-result.buf[ofs].buflen); - bind[ofs].buffer_type = MYSQL_TYPE_LONGLONG; + bind[ofs].buffer_type = col_type; bind[ofs].buffer = stmt-result.buf[ofs].val; bind[ofs].is_null = stmt-result.is_null[ofs]; bind[ofs].buffer_length = stmt-result.buf[ofs].buflen; @@ -715,7 +715,14 @@ } else { ZVAL_LONG(stmt-result.vars[i], llval); } - } else { + } +#if MYSQL_VERSION_ID 50002 + else if (stmt-stmt-bind[i].buffer_type == MYSQL_TYPE_BIT) { + llval = *(my_ulonglong *)stmt-result.buf[i].val; + ZVAL_LONG(stmt-result.vars[i], llval); + } +#endif + else { ZVAL_STRINGL(stmt-result.vars[i], stmt-result.buf[i].val, stmt-result.buf[i].buflen, 1); } break; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/mysqli mysqli_api.c
andrey Mon May 8 15:06:52 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/mysqli mysqli_api.c Log: tweaks and optimizations #tested on 32b and 64b http://cvs.php.net/viewcvs.cgi/php-src/ext/mysqli/mysqli_api.c?r1=1.118.2.22r2=1.118.2.22.2.1diff_format=u Index: php-src/ext/mysqli/mysqli_api.c diff -u php-src/ext/mysqli/mysqli_api.c:1.118.2.22 php-src/ext/mysqli/mysqli_api.c:1.118.2.22.2.1 --- php-src/ext/mysqli/mysqli_api.c:1.118.2.22 Wed Apr 5 12:17:08 2006 +++ php-src/ext/mysqli/mysqli_api.c Mon May 8 15:06:51 2006 @@ -15,7 +15,7 @@ | Author: Georg Richter [EMAIL PROTECTED]| +--+ - $Id: mysqli_api.c,v 1.118.2.22 2006/04/05 12:17:08 georg Exp $ + $Id: mysqli_api.c,v 1.118.2.22.2.1 2006/05/08 15:06:51 andrey Exp $ */ #ifdef HAVE_CONFIG_H @@ -89,11 +89,6 @@ unsigned long rc; /* calculate and check number of parameters */ - num_vars = argc - 1; - if (!getThis()) { - /* ignore handle parameter in procedural interface*/ - --num_vars; - } if (argc 2) { /* there has to be at least one pair */ WRONG_PARAM_COUNT; @@ -105,8 +100,12 @@ MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, mysql_stmt, mysqli_stmt, MYSQLI_STATUS_VALID); + num_vars = argc - 1; if (getThis()) { start = 1; + } else { + /* ignore handle parameter in procedural interface*/ + --num_vars; } if (typelen != argc - start) { @@ -154,23 +153,19 @@ case 'b': /* Blob (send data) */ bind[ofs].buffer_type = MYSQL_TYPE_LONG_BLOB; - bind[ofs].is_null = 0; - bind[ofs].length = 0; + /* don't initialize is_null and length to 0 because we use ecalloc */ break; case 's': /* string */ bind[ofs].buffer_type = MYSQL_TYPE_VAR_STRING; - bind[ofs].buffer = NULL; - bind[ofs].buffer_length = 0; + /* don't initialize buffer and buffer_length because we use ecalloc */ bind[ofs].is_null = stmt-param.is_null[ofs]; break; default: php_error_docref(NULL TSRMLS_CC, E_WARNING, Undefined fieldtype %c (parameter %d), types[ofs], i+1); - efree(args); - efree(bind); - RETURN_FALSE; - break; + RETVAL_FALSE; + goto end; } ofs++; } @@ -178,9 +173,8 @@ MYSQLI_REPORT_STMT_ERROR(stmt-stmt); if (rc) { - efree(args); - efree(bind); - RETURN_FALSE; + RETVAL_FALSE; + goto end; } stmt-param.var_cnt = num_vars; @@ -193,10 +187,10 @@ stmt-param.vars[i] = NULL; } } + RETVAL_TRUE; +end: efree(args); efree(bind); - - RETURN_TRUE; } /* }}} */ @@ -279,12 +273,16 @@ break; case MYSQL_TYPE_NULL: - stmt-result.buf[ofs].type = IS_NULL; - stmt-result.buf[ofs].buflen = 0; + stmt-result.buf[ofs].type = IS_NULL; + /* + don't initialize to 0 : + 1. stmt-result.buf[ofs].buflen + 2. bind[ofs].buffer + 3. bind[ofs].buffer_length + because memory was allocated with ecalloc + */ bind[ofs].buffer_type = MYSQL_TYPE_NULL; - bind[ofs].buffer = 0; bind[ofs].is_null = stmt-result.is_null[ofs]; - bind[ofs].buffer_length = 0; break; case MYSQL_TYPE_SHORT: @@ -294,7 +292,7 @@ case MYSQL_TYPE_YEAR: convert_to_long_ex(args[i]); stmt-result.buf[ofs].type = IS_LONG; - stmt-result.buf[ofs].buflen = 0; + /* don't set stmt-result.buf[ofs].buflen to 0, we used ecalloc */ stmt-result.buf[ofs].val = (char