From f80fa96d1c1eb867d65598fd8ad1e3044fb7362a Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 16 May 2005 20:16:46 +0300 Subject: [PATCH] Fix memory leak client/mysql.cc: Remove usage of c_ptr_safe() as this causes a linkage problem when compiling MySQL without inline functions sql/sql_base.cc: Don't use c_ptr_safe() on this string as this causes a realloc and the String object (allocated by sql_yacc.yy) is never freed --- client/mysql.cc | 7 ++++--- sql/sql_base.cc | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/client/mysql.cc b/client/mysql.cc index 6a76a1fbd1b..a3262c818f3 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -2051,7 +2051,8 @@ print_table_data(MYSQL_RES *result) separator.fill(separator.length()+length+2,'-'); separator.append('+'); } - tee_puts(separator.c_ptr_safe(), PAGER); + separator.append('\0'); // End marker for \0 + tee_puts((char*) separator.ptr(), PAGER); if (column_names) { mysql_field_seek(result,0); @@ -2064,7 +2065,7 @@ print_table_data(MYSQL_RES *result) num_flag[off]= IS_NUM(field->type); } (void) tee_fputs("\n", PAGER); - tee_puts(separator.c_ptr(), PAGER); + tee_puts((char*) separator.ptr(), PAGER); } while ((cur= mysql_fetch_row(result))) @@ -2093,7 +2094,7 @@ print_table_data(MYSQL_RES *result) } (void) tee_fputs("\n", PAGER); } - tee_puts(separator.c_ptr(), PAGER); + tee_puts((char*) separator.ptr(), PAGER); my_afree((gptr) num_flag); } diff --git a/sql/sql_base.cc b/sql/sql_base.cc index e86362c857b..c580842ce06 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -2522,7 +2522,7 @@ bool get_key_map_from_key_list(key_map *map, TABLE *table, if ((pos= find_type(&table->keynames, name->ptr(), name->length(), 1)) <= 0) { - my_error(ER_KEY_COLUMN_DOES_NOT_EXITS, MYF(0), name->c_ptr_safe(), + my_error(ER_KEY_COLUMN_DOES_NOT_EXITS, MYF(0), name->c_ptr(), table->real_name); map->set_all(); return 1;