diff options
author | unknown <kaa@polly.local> | 2007-06-06 23:47:43 +0400 |
---|---|---|
committer | unknown <kaa@polly.local> | 2007-06-06 23:47:43 +0400 |
commit | 83f622117593c9103fc8469399ffddcf5a91da1b (patch) | |
tree | f6a6c8714243e1c604145e7485edbfa14f06a4c8 | |
parent | 10a21ed042e39c8800893dbb8ba711d54daf4896 (diff) | |
parent | cf6e5c12d16a40744f0155a23c3d66e1ee5a74f1 (diff) | |
download | mariadb-git-83f622117593c9103fc8469399ffddcf5a91da1b.tar.gz |
Merge polly.local:/home/kaa/src/maint/bug28895/my51-bug28895
into polly.local:/home/kaa/src/maint/mysql-5.1-maint
sql/sql_acl.cc:
Auto merged
-rw-r--r-- | mysql-test/r/view_grant.result | 4 | ||||
-rw-r--r-- | sql/sql_acl.cc | 13 |
2 files changed, 9 insertions, 8 deletions
diff --git a/mysql-test/r/view_grant.result b/mysql-test/r/view_grant.result index 51d131f0044..18b93e1928d 100644 --- a/mysql-test/r/view_grant.result +++ b/mysql-test/r/view_grant.result @@ -603,9 +603,9 @@ Warnings: Note 1449 There is no 'no-such-user'@'localhost' registered SHOW CREATE VIEW v; View Create View -v CREATE ALGORITHM=UNDEFINED DEFINER=`no-such-user`@`localhost` SQL SECURITY DEFINER VIEW `v` AS select `t1`.`a` AS `a` from `t1` +v CREATE ALGORITHM=UNDEFINED DEFINER=`no-such-user`@`localhost` SQL SECURITY DEFINER VIEW `v` AS select `test`.`t1`.`a` AS `a` from `t1` Warnings: -Note 1449 There is no 'no-such-user'@'localhost' registered +Warning 1356 View 'test.v' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them SELECT * FROM v; ERROR HY000: There is no 'no-such-user'@'localhost' registered DROP VIEW v; diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index 59e3c0a7dd4..1b57e9363e4 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -1110,14 +1110,15 @@ bool acl_getroot_no_password(Security_context *sctx, char *user, char *host, */ for (i=0 ; i < acl_users.elements ; i++) { - acl_user= dynamic_element(&acl_users,i,ACL_USER*); - if ((!acl_user->user && !user[0]) || - (acl_user->user && strcmp(user, acl_user->user) == 0)) + ACL_USER *acl_user_tmp= dynamic_element(&acl_users,i,ACL_USER*); + if ((!acl_user_tmp->user && !user[0]) || + (acl_user_tmp->user && strcmp(user, acl_user_tmp->user) == 0)) { - if (compare_hostname(&acl_user->host, host, ip)) + if (compare_hostname(&acl_user_tmp->host, host, ip)) { - res= 0; - break; + acl_user= acl_user_tmp; + res= 0; + break; } } } |