iliaa Sat Jul 9 00:21:16 2005 EDT Modified files: /php-src/ext/pdo_mysql mysql_statement.c Log: Fixed memory leak http://cvs.php.net/diff.php/php-src/ext/pdo_mysql/mysql_statement.c?r1=1.31&r2=1.32&ty=u Index: php-src/ext/pdo_mysql/mysql_statement.c diff -u php-src/ext/pdo_mysql/mysql_statement.c:1.31 php-src/ext/pdo_mysql/mysql_statement.c:1.32 --- php-src/ext/pdo_mysql/mysql_statement.c:1.31 Fri Jul 8 23:54:13 2005 +++ php-src/ext/pdo_mysql/mysql_statement.c Sat Jul 9 00:21:14 2005 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: mysql_statement.c,v 1.31 2005/07/09 03:54:13 wez Exp $ */ +/* $Id: mysql_statement.c,v 1.32 2005/07/09 04:21:14 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -96,8 +96,18 @@ S->result = mysql_stmt_result_metadata(S->stmt); if (S->result) { S->fields = mysql_fetch_fields(S->result); - stmt->column_count = (int)mysql_num_fields(S->result); + if (S->bound_result) { + int i; + for (i = 0; i < stmt->column_count; i++) { + efree(S->bound_result[i].buffer); + } + efree(S->bound_result); + efree(S->out_null); + efree(S->out_length); + } + + stmt->column_count = (int)mysql_num_fields(S->result); S->bound_result = ecalloc(stmt->column_count, sizeof(MYSQL_BIND)); S->out_null = ecalloc(stmt->column_count, sizeof(my_bool)); S->out_length = ecalloc(stmt->column_count, sizeof(unsigned long));
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php