Commit f80fa96d authored by unknown's avatar unknown
Browse files

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
parent 259699b4
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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);
}

+1 −1
Original line number Diff line number Diff line
@@ -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;