summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <jimw@mysql.com>2005-10-18 10:49:28 -0700
committerunknown <jimw@mysql.com>2005-10-18 10:49:28 -0700
commitc3ac502ab16db7118c4b1f2a70a300e6bd40af85 (patch)
treed2e7673e91f52d04a0850d9bb5c525a79fffa4a4 /sql
parent019b97321241c7c1cd9e7595f66333dfaeee9007 (diff)
parent6c8c4fdace5e94736bbc5faa5829d2b704e86187 (diff)
downloadmariadb-git-c3ac502ab16db7118c4b1f2a70a300e6bd40af85.tar.gz
Merge bk-internal:/home/bk/mysql-4.1
into mysql.com:/home/jimw/my/mysql-4.1-clean
Diffstat (limited to 'sql')
-rw-r--r--sql/mysqld.cc3
-rw-r--r--sql/sql_acl.cc9
2 files changed, 8 insertions, 4 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index e1e87652255..d21de9b7780 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -5349,7 +5349,8 @@ The minimum value for this variable is 4096.",
"Persistent buffer for query parsing and execution",
(gptr*) &global_system_variables.query_prealloc_size,
(gptr*) &max_system_variables.query_prealloc_size, 0, GET_ULONG,
- REQUIRED_ARG, QUERY_ALLOC_PREALLOC_SIZE, 16384, ~0L, 0, 1024, 0},
+ REQUIRED_ARG, QUERY_ALLOC_PREALLOC_SIZE, QUERY_ALLOC_PREALLOC_SIZE,
+ ~0L, 0, 1024, 0},
{"range_alloc_block_size", OPT_RANGE_ALLOC_BLOCK_SIZE,
"Allocation block size for storing ranges during optimization",
(gptr*) &global_system_variables.range_alloc_block_size,
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index 1b5f69c7873..47c6343bc3b 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -193,6 +193,7 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables)
my_bool return_val= 1;
bool check_no_resolve= specialflag & SPECIAL_NO_RESOLVE;
char tmp_name[NAME_LEN+1];
+ int password_length;
DBUG_ENTER("acl_load");
priv_version++; /* Privileges updated */
@@ -250,7 +251,9 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables)
init_read_record(&read_record_info,thd,table=tables[1].table,NULL,1,0);
VOID(my_init_dynamic_array(&acl_users,sizeof(ACL_USER),50,100));
- if (table->field[2]->field_length < SCRAMBLED_PASSWORD_CHAR_LENGTH_323)
+ password_length= table->field[2]->field_length /
+ table->field[2]->charset()->mbmaxlen;
+ if (password_length < SCRAMBLED_PASSWORD_CHAR_LENGTH_323)
{
sql_print_error("Fatal error: mysql.user table is damaged or in "
"unsupported 3.20 format.");
@@ -258,10 +261,10 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables)
}
DBUG_PRINT("info",("user table fields: %d, password length: %d",
- table->fields, table->field[2]->field_length));
+ table->fields, password_length));
pthread_mutex_lock(&LOCK_global_system_variables);
- if (table->field[2]->field_length < SCRAMBLED_PASSWORD_CHAR_LENGTH)
+ if (password_length < SCRAMBLED_PASSWORD_CHAR_LENGTH)
{
if (opt_secure_auth)
{