1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Security patch to remove wrong error when one had a global update/delete privilige and a database specific SELECT privilege.

sql/sql_acl.cc:
  Security patch
sql/sql_base.cc:
  Security patch
sql/sql_parse.cc:
  Security patch
tests/grant.pl:
  Test of security patch
tests/grant.res:
  Test of security patch
This commit is contained in:
unknown
2003-05-07 23:59:24 +03:00
parent d4b465e2f3
commit a57e773289
5 changed files with 49 additions and 9 deletions

View File

@ -1616,7 +1616,7 @@ Field *find_field_in_table(THD *thd,TABLE *table,const char *name,uint length,
else
thd->dupp_field=field;
}
if (check_grants && check_grant_column(thd,table,name,length))
if (check_grants && check_grant_column(thd,table,name,length))
return WRONG_GRANT;
return field;
}
@ -1643,8 +1643,8 @@ find_field_in_tables(THD *thd,Item_field *item,TABLE_LIST *tables)
{
found_table=1;
Field *find=find_field_in_table(thd,tables->table,name,length,
grant_option &&
tables->table->grant.want_privilege,
test(tables->table->grant.
want_privilege),
1);
if (find)
{
@ -1684,8 +1684,7 @@ find_field_in_tables(THD *thd,Item_field *item,TABLE_LIST *tables)
for (; tables ; tables=tables->next)
{
Field *field=find_field_in_table(thd,tables->table,name,length,
grant_option &&
tables->table->grant.want_privilege,
test(tables->table->grant.want_privilege),
allow_rowid);
if (field)
{