diff options
author | jimw@rama.(none) <> | 2006-07-24 16:45:26 -0700 |
---|---|---|
committer | jimw@rama.(none) <> | 2006-07-24 16:45:26 -0700 |
commit | 36a26abd8f912c18efba651ad4d6f6f99747af15 (patch) | |
tree | d24e85a81ecddbc8e760854b7e45effc8f4c3385 | |
parent | b7a55b9b5c645fbedc81d7e751c25fed4a44d8db (diff) | |
download | mariadb-git-36a26abd8f912c18efba651ad4d6f6f99747af15.tar.gz |
Bug #10668: CREATE USER does not enforce username length limit
This appears to have just been an oversight -- CREATE USER was not enforcing
the existing username limitations.
-rw-r--r-- | mysql-test/r/grant.result | 3 | ||||
-rw-r--r-- | mysql-test/t/grant.test | 6 | ||||
-rw-r--r-- | sql/sql_acl.cc | 11 |
3 files changed, 19 insertions, 1 deletions
diff --git a/mysql-test/r/grant.result b/mysql-test/r/grant.result index 3f3325354ee..bb69202f1df 100644 --- a/mysql-test/r/grant.result +++ b/mysql-test/r/grant.result @@ -867,3 +867,6 @@ insert into mysql.user select * from t2; flush privileges; drop table t2; drop table t1; +create user mysqltest1_thisisreallytoolong; +ERROR HY000: Operation CREATE USER failed for 'mysqltest1_thisisreallytoolong'@'%' +End of 5.0 tests diff --git a/mysql-test/t/grant.test b/mysql-test/t/grant.test index a9d52f559ca..d025709cc21 100644 --- a/mysql-test/t/grant.test +++ b/mysql-test/t/grant.test @@ -680,4 +680,10 @@ drop table t2; drop table t1; +# +# Bug #10668: CREATE USER does not enforce username length limit +# +--error ER_CANNOT_USER +create user mysqltest1_thisisreallytoolong; +--echo End of 5.0 tests diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index ae5ea210a47..3735f4403de 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -5220,7 +5220,16 @@ bool mysql_create_user(THD *thd, List <LEX_USER> &list) { result= TRUE; continue; - } + } + + if (user_name->host.length > HOSTNAME_LENGTH || + user_name->user.length > USERNAME_LENGTH) + { + append_user(&wrong_users, user_name); + result= TRUE; + continue; + } + /* Search all in-memory structures and grant tables for a mention of the new user name. |